我有2个实体:EntityA和EntityB。
它们是无关的,出于某些限制,我不能将它们放在继承树中。
但是我需要在同一个JPQL或HQL查询中混合包含两个实体的所有实例的List。JPA甚至直接使用Hibernate是否可以实现?
我需要这样的东西:
FROM EntityA WHERE fieldA=1 UNION FROM EntityB WHERE fieldB="aa"
有什么提示吗?
好吧,我终于想通了。
足以使实体实现一个公共接口(甚至不需要在Hibernate上声明此接口)。
然后,可以执行如下查询:
FROM my.package.CommonInterface obj WHERE obj IN (FROM EntityA WHERE fieldA=1) OR obj IN (FROM EntityB WHERE fieldB='a')
这样,您可以检索List<CommonInterface>。
List<CommonInterface>
问题解决了。