Mr.*_*art 3 java orm persistence hibernate jpa
我有2个实体:EntityA和EntityB.
它们是无关的,我不能将它们放在继承树中,因为某些限制超出了本问题的范围.
但是我需要在同一个JPQL或HQL查询中获得包含两个实体的所有实例的混合List.这可能是JPA甚至直接使用Hibernate吗?
我需要这样的东西:
FROM EntityA WHERE fieldA=1
UNION
FROM EntityB WHERE fieldB="aa"
Run Code Online (Sandbox Code Playgroud)
任何提示?
好吧,我终于明白了.
它应该使实体实现一个通用接口(甚至不需要在Hibernate上声明这个接口).
然后,可以完成这样的查询:
FROM my.package.CommonInterface obj
WHERE obj IN (FROM EntityA WHERE fieldA=1) OR
obj IN (FROM EntityB WHERE fieldB='a')
Run Code Online (Sandbox Code Playgroud)
这样,你检索一个List<CommonInterface>.
问题解决了.