草庐IT

QueryDSL-JPA

全部标签

java - JPA:返回多个实体的查询

我正在编写一个连接三个表的JPQL查询。在我的结果列表中,我想获得每个匹配行的所有三个实体(希望这是有道理的)。有什么想法吗?Hibernate3.x是我的JPA提供程序。 最佳答案 IIRC,你可以做一个SELECTo1,o2,o3FROMEntityAo1,EntityBo2,EntityCo3WHERE....,结果将是List,其中数组内容将包含o1,o2,o3值。 关于java-JPA:返回多个实体的查询,我们在StackOverflow上找到一个类似的问题:

java - 使用 JPA(带注释的实体)和 liquibase 进行 hibernate

liquibase是hibernatehbm2ddl_auto的完美替代品属性,如果您使用的是xml映射。但我使用JPA注释(hibernate注释)。那么是否可以使用liquibase呢? 最佳答案 是的,Liquibase使用hibernate的元数据类,无论您使用xml映射还是注解,它们都是相同的。您确实需要一个hibernate配置文件来指向liquibase,但您的映射可以是xml或jpa注释。更多信息请访问https://github.com/liquibase/liquibase-hibernate/wiki但您可以使

java - 使用 JPA(带注释的实体)和 liquibase 进行 hibernate

liquibase是hibernatehbm2ddl_auto的完美替代品属性,如果您使用的是xml映射。但我使用JPA注释(hibernate注释)。那么是否可以使用liquibase呢? 最佳答案 是的,Liquibase使用hibernate的元数据类,无论您使用xml映射还是注解,它们都是相同的。您确实需要一个hibernate配置文件来指向liquibase,但您的映射可以是xml或jpa注释。更多信息请访问https://github.com/liquibase/liquibase-hibernate/wiki但您可以使

java - 让 JPA/Hibernate 复制 "ON DELETE SET NULL"功能

我已经能够让JPA/Hibernate成功复制ONDELETECASCADE功能(似乎是默认行为),但我现在正在尝试复制ONDELETESETNULL功能,我遇到了问题。这是我的两个类(class):@Entity@Table(name="teacher")publicclassTeacher{@Id@GeneratedValue@Column(name="id",nullable=false,length=4)privateintid;@OneToMany(mappedBy="teacher")privateListstudentList;//...}@Entity@Table(na

java - 让 JPA/Hibernate 复制 "ON DELETE SET NULL"功能

我已经能够让JPA/Hibernate成功复制ONDELETECASCADE功能(似乎是默认行为),但我现在正在尝试复制ONDELETESETNULL功能,我遇到了问题。这是我的两个类(class):@Entity@Table(name="teacher")publicclassTeacher{@Id@GeneratedValue@Column(name="id",nullable=false,length=4)privateintid;@OneToMany(mappedBy="teacher")privateListstudentList;//...}@Entity@Table(na

java - JPA 是否支持映射到 sql View ?

我目前正在使用Eclipselink,但我知道现在大多数JPA实现已经非常标准化。是否有将JPA实体映射到View的本地方法?我不打算插入/更新,但问题实际上是如何处理@Id注释。JPA世界中的每个实体都必须有一个ID字段,但是我创建的许多View并不符合这一点。JPA中是否有对此的native支持,或者我是否需要使用hack来使其工作?我进行了很多搜索,但发现关于这样做的信息很少。 最佳答案 虽然将@Id注释与直接支持的类型的字段一起使用并不是指定实体身份的唯一方法(请参阅具有多个@Id的@IdClass注释或@EmbeddedI

java - JPA 是否支持映射到 sql View ?

我目前正在使用Eclipselink,但我知道现在大多数JPA实现已经非常标准化。是否有将JPA实体映射到View的本地方法?我不打算插入/更新,但问题实际上是如何处理@Id注释。JPA世界中的每个实体都必须有一个ID字段,但是我创建的许多View并不符合这一点。JPA中是否有对此的native支持,或者我是否需要使用hack来使其工作?我进行了很多搜索,但发现关于这样做的信息很少。 最佳答案 虽然将@Id注释与直接支持的类型的字段一起使用并不是指定实体身份的唯一方法(请参阅具有多个@Id的@IdClass注释或@EmbeddedI

java - JPA 级联持续存在并且对分离实体的引用会引发 PersistentObjectException。为什么?

我有一个引用实体Bar的实体Foo:@EntitypublicclassFoo{@OneToOne(cascade={PERSIST,MERGE,REFRESH},fetch=EAGER)publicBargetBar(){returnbar;}}当我持久化一个新的Foo时,它可以获得对新Bar或现有Bar的引用。当它获得一个碰巧分离的现有Bar时,我的JPA提供程序(Hibernate)会抛出以下异常:Causedby:org.hibernate.PersistentObjectException:detachedentitypassedtopersist:com.example.B

java - JPA 级联持续存在并且对分离实体的引用会引发 PersistentObjectException。为什么?

我有一个引用实体Bar的实体Foo:@EntitypublicclassFoo{@OneToOne(cascade={PERSIST,MERGE,REFRESH},fetch=EAGER)publicBargetBar(){returnbar;}}当我持久化一个新的Foo时,它可以获得对新Bar或现有Bar的引用。当它获得一个碰巧分离的现有Bar时,我的JPA提供程序(Hibernate)会抛出以下异常:Causedby:org.hibernate.PersistentObjectException:detachedentitypassedtopersist:com.example.B

java - JPA 实现——哪一个最好用?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭9年前。我使用了以下JPA实现:hibernate,顶级链接,OpenJPA他们每个人都有自己的长处和短处。我发现Hibernate是三者中最先进的,只是它将自己的一些增强功能与JPA混合在一起,这使得切换到其他提供程序变得困难。最重要的是,它的查询解析器在解释JPA时更加宽松。它们使获取正确的库来支持hibernate变得有点困难,因为我发现尝试获取所有依赖