草庐IT

hibernate-postgresql

全部标签

java - hibernate 映射 : OneToMany and OneToOne on child object property

这是父类Enterprise。它有雇主,其中一位是企业总裁。@EntityclassEnterprise{//fields@OneToManypublicListgetEmployers()//implementation@OneToOnepublicEmployeegetPresident()//implementation}这是子Employee类。它只有关于他工作的Enterprise的信息。但问题是我应该使用什么关联?@EntityclassEmployee{//fields//whatassociationshouldIuse?publicEnterprisegetEnter

java - 乐观锁定和 org.hibernate.StaleObjectStateException :

我只是在尝试乐观锁定。我有以下类(class):@EntitypublicclassStudent{privateIntegerid;privateStringfirstName;privateStringlastName;privateIntegerversion;@VersionpublicIntegergetVersion(){returnversion;}//allothergettersommited.}现在我正在获取其中一名学生并尝试同时更新其属性。Threadt1=newThread(newMyRunnable(id));Threadt2=newThread(newMyR

java - 让 DbUnit 与 Hibernate 事务一起工作

我在尝试将Hibernate事务中所做的更改推送到数据库以使DbUnit在我的测试用例中正常工作时遇到问题。似乎DbUnit没有看到Hibernate所做的更改,因为它们尚未在事务结束时提交......而且我不确定如何重组我的测试用例以使其正常工作。这是我过度简化的测试用例来证明我的问题:-@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={"classpath:applicationContext-test.xml"})@TransactionConfiguration(transaction

java - 如何为我的 Spring 3/Hibernate 4 LocalSessionFactoryBean 设置事件监听器?

我正在使用Spring3.1.0.RELEASE和Hibernate4.0.1.Final。如何为我的SessionFactory设置事件监听器?最终,我试图在这个线程--InjectingfieldsviaSpringintoentitiesloadedbyHibernate之后将一个bean注入(inject)到Hibernate实体中。但是,这是失败的,但出现以下异常。我的配置文件看起来像classpath:hibernate.cfg.xml-->com.myco.myproject.domain.Registrationcom.myco.myproject.domain.Rol

java - Hibernate 是否必须驱动数据库设计?

我昨天一整天都在阅读关于Hibernate的各种文章/教程,虽然我被它的强大所震撼,但我对它有一个主要的担忧。似乎标准做法是允许Hibernate为您设计/生成您的DB模式,这是一个令我窒息的新概念和可怕概念。从我阅读的教程中,您只需将一个新实体添加到您的hibernate.cfg.xml配置文件,使用@Entity注释您想要的任何POJO,然后瞧-Hibernate创建给你的表。虽然这很酷,但它让我想知道一些场景:如果您已经有一个DB模式,而Hibernate想要为您生成的模式不符合该模式怎么办?如果您有一个疯狂的DBA拒绝在预定义(非Hibernate)模式上让步怎么办?如果您有包

java - Hibernate 查询语法异常 : org. hibernate.hql.ast.QuerySyntaxException: unexpected token

我有一个查询,我要连接两个表ROuteMaster和RouteHalts。当我执行内部连接时,我得到了org.hibernate.hql.ast.QuerySyntaxException:unexpectedtoken:onnearline1,column169[SELECTrm.id,rm.routeCode,rm.startPlaceId,rm.endPlaceId,rm.active,rm.linkedRouteFROMcom.oprs.pojo.routes.RouteMasterrmINNERJOINRouteHaltsrhonrm.id=rh.routeIdWHERErh.

java - 构建 EntityManagerFactory 后如何获取 Hibernate 配置?

我的Web框架(Play1.2.5)创建了一个EJB3Configuration本地方法,该方法用于创建EntityManagerFactory(source).我正在编写一个脚本,并希望从配置中运行generateSchemaUpdateScript()方法来制作我可以验证并在生产部署中运行的SQL脚本。我遇到的问题是,在构建EntityManagerFactory之后,我无法弄清楚如何访问已使用的Configuration对象或如何生成Configuration对象。 最佳答案 您无法从entitymanagerfactory取

java - 有没有办法在没有 DTO 的情况下将 Hibernate 实体公开为 RESTful 资源?

我正在开发一个简单的网络应用程序,它将域模型公开为RESTful资源。我计划使用JPA2(Hibernate)和SpringMVCREST支持。在将Hibernate实体编码为XML/JSON时,如果实体被分离,它将为惰性子关联抛出LazyLoadingException。如果实体仍然附加到HibernateSession,它几乎会加载整个数据库。我尝试使用DozerCustomFieldMapper来确定该属性是否为未加载的惰性HibernateCollection,然后返回NULL。但如果我们有双向关联,Hibernate会急切地加载多对一端,Dozer将尝试复制属性,这将以无限循

java - 使用 Spring、Hibernate 和 LocalSessionFactoryBuilder 配置 sessionFactory

我正在尝试使用spring3.2和hibernate4创建sessionFactorybean。为此我使用了以下代码。但问题是buildSessionFactory()已弃用并且建议在javadoc中改用buildSessionFactory(ServiceRegistryserviceRegistry)。但是,我无法理解什么是ServiceRegistry以及如何使用buildSessionFactory(ServiceRegistryserviceRegistry)。@ConfigurationpublicclassAppConfig{...@BeanpublicSessionFa

java - Hibernate命名查询及其性能优势?

正如hibernate文档所说,命名查询的目的是将HQL从项目中的不同位置清除到某些xml中的单个位置(在声明性方法的情况下)。这意味着在查询修改但重新加载的情况下不需要重新编译session工厂是必需的,这意味着在大多数情况下服务器会在查询对象被缓存时启动。但是在注释的情况下,我需要在实体级别定义命名查询。所以这里再次编译需要。我的问题是命名查询是否也有助于提高性能。这是我的理解:-1)当我使用命名查询时,只有查询对象缓存在二级缓存中。当我说只是查询对象时,它意味着只是查询语法被缓存而不是查询结果。对吗?如果它是正确的,那么它可能仅在HQL的情况下有用,因为我们可以避免将HQL转换为