Hibernate:从子表中获取一个字段

时间:2014-01-23 14:46:42

标签: hibernate

我们说我有桌子

Person(personId, name) 
Address(addressId, fk_Person_personId, address, creationTime)

因此,一个人可能会输入多个地址。

是否可以根据Person.getMostRecentAddress()创建Address.creationTime方法?

1 个答案:

答案 0 :(得分:0)

您可以在HQL查询中使用max()

select max(p.address.creationTime) from Person p where ...

我没有尝试过,但在documentation

  

“HQL查询甚至可以返回属性上聚合函数的结果:”,但是它们只使用一个间接而不是两个像p.address.creationTime

另一种方法是:

select max(a.creationTime) from Address a where a.person.id = ...

我应该这样做。