Hibernate查询:查找相等的对象

时间:2009-12-08 18:13:15

标签: hibernate

我有一个Hibernate类,其equals()的实现相当复杂。是否有可能编写一个返回此类的所有实例的查询,这些实例至少有一个其他相等的对象,其中相等是由equals()的实现定义的?

更新 显然这是不可能的。作为替代方案,是否可以检索具有相等属性值的特定类的所有实例。例如:

  

获取具有的所有User实例   同名

谢谢, 唐

1 个答案:

答案 0 :(得分:3)

通过查询?否。

实际上,除非您的实体是收集的一部分,否则Hibernate根本不会使用您的equals()加载。

更新(基于问题编辑):

是的,这可以用于映射属性。您需要使用group by / havinga subquery。类似的东西:

from Person p
 where name in (
  select p2.name from Person p2
   group by p2.name
   having count(p2.id) > 1
)