Tag: hibernate

Hibernate方言Oracle数据库11g?

是否有Oracle数据库11g的Hibernate方言? 还是应该使用Hibernate附带的org.hibernate.dialect.Oracle10gDialect ?

你如何在HQL中创build一个独特的查询

有没有办法在HQL中创build一个独特的查询。 通过使用“distinct”关键字或其他方法。 我不确定是否独立是HQL的有效密钥,但是我正在寻找SQL关键字“distinct”的HQL等价物。

Hibernate 4有哪些新特性?

我刚刚看到Hibernate 4的testing版发布了。 4和3(.6)相比有什么新东西? 我在testing版发布中找不到这个信息,也没有在Google上search这个问题的标题。

hibernate错误:org.hibernate.NonUniqueObjectException:具有相同标识符值的不同对象已经与会话关联

我有两个用户对象,而我尝​​试保存使用的对象 session.save(userObj); 我收到以下错误: Caused by: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.pojo.rtrequests.User#com.pojo.rtrequests.User@d079b40b] 我正在使用创build会话 BaseHibernateDAO dao = new BaseHibernateDAO(); rtsession = dao.getSession(userData.getRegion(), BaseHibernateDAO.RTREQUESTS_DATABASE_NAME); rttrans = rtsession.beginTransaction(); rttrans.begin(); rtsession.save(userObj1); rtsession.save(userObj2); rtsession.flush(); rttrans.commit(); rtsession.close(); // in finally block 我也试过在保存之前先做session.clear() ,还是没有运气。 这是第一次我得到会话对象时,用户请求来了,所以我得到为什么说对象是在会议中存在。 有什么build议么?

JPA渴望获取不join

JPA的抓取策略究竟控制着什么? 我无法检测到渴望和懒惰之间的任何区别。 在这两种情况下,JPA / Hibernate不会自动join多对一的关系。 例如:人有一个地址。 一个地址可以属于很多人。 JPA注释的实体类看起来像: @Entity public class Person { @Id public Integer id; public String name; @ManyToOne(fetch=FetchType.LAZY or EAGER) public Address address; } @Entity public class Address { @Id public Integer id; public String name; } 如果我使用JPA查询: select p from Person p where … JPA / Hibernate生成一个SQL查询以从Person表中进行select,然后为每个人生成一个明确的地址查询: select … from Person […]

Spring Data-JPA与JPA:有什么区别?

我对Spring Data-JPA和JPA之间的区别有些困惑。 我知道关于JPA,它是使用stream行的ORM技术将Java对象持久化到关系数据库的规范。也就是说,JPA提供了接口和其他ORM技术,实现了被称为JPA提供者的接口,例如Hibernate。 现在到底什么是Spring Data JPA。 Spring Data JPA是否通过JPA添加了一些更多的function(接口),并且仍然只是指定的,或者它也是JPA提供者? 我看到Spring Data JPA在存储库(DAO层:如果我没有错的话)工作。 所以我的意思是使用“Spring Data JPA + Hibernate”或仅使用“Hibernate”指导是如何不同?

javax.persistence.Query.getResultList()是否可以返回null?

如果是的话,在什么情况下? Javadoc和JPA规范什么也没说。

我需要persistence.xml中的<class>元素吗?

我有非常简单的persistance.xml文件: <?xml version="1.0" encoding="UTF-8"?> <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> <persistence-unit name="eventractor" transaction-type="RESOURCE_LOCAL"> <class>pl.michalmech.eventractor.domain.User</class> <class>pl.michalmech.eventractor.domain.Address</class> <class>pl.michalmech.eventractor.domain.City</class> <class>pl.michalmech.eventractor.domain.Country</class> <properties> <property name="hibernate.hbm2ddl.auto" value="validate" /> <property name="hibernate.show_sql" value="true" /> </properties> </persistence-unit> </persistence> 它的工作。 但是,当我删除<class>元素应用程序没有看到实体(所有的类都用@Entity注释)。 有没有自动机制来扫描@Entity类?

Hibernate的注释 – 哪个更好,是字段还是属性?

这个问题与Hibernate Annotation Placement Question有些相关。 但是我想知道哪个更好 ? 通过属性访问或通过字段访问? 每个的优点和缺点是什么?

Spring Data JPA与大型项目的Hibernate有何不同?

我很难决定是否应该继续使用Hibernate来完成一个新的项目,或者使用JPA和新的Spring Data实现。 Spring Data框架是否适用于大型项目或具有适度查询要求的小型项目? 虽然我通过使用@Query注释当然看到了代码减less的优势,但是您对dynamic查询做了什么? 当你想要实现一个相当复杂的save()方法时呢? 该文档说,要做一个自定义的接口和实现,你的主存储库实现,但如果你需要访问任何超级方法的crud存储库本身? 粗暴仓库实现了自定义的一个 – 而不是其他的方式。 这似乎是一个奇怪的devise。 我非常不确定这个框架是否能够应对复杂和大型应用的挑战。 我从来没有遇到过许多与Hibernate有关的问题,我正在考虑坚持老的可靠,而不是用Spring Data JPA。 我该怎么办? 如果我使用Spring Data JPA,会遇到什么样的无法预料的复杂性和成本?