我有一个Hibernate类,其equals()
的实现相当复杂。是否有可能编写一个返回此类的所有实例的查询,这些实例至少有一个其他相等的对象,其中相等是由equals()
的实现定义的?
更新 显然这是不可能的。作为替代方案,是否可以检索具有相等属性值的特定类的所有实例。例如:
获取具有的所有User实例 同名
谢谢, 唐
答案 0 :(得分:3)
通过查询?否。
实际上,除非您的实体是收集的一部分,否则Hibernate根本不会使用您的equals()
加载。
更新(基于问题编辑):
是的,这可以用于映射属性。您需要使用group by / having和a subquery。类似的东西:
from Person p
where name in (
select p2.name from Person p2
group by p2.name
having count(p2.id) > 1
)