我有一个通过一对多关系与另一个实体相关联的实体。
当我加载实体时,我只想加载相关集合的大小(这个与之关联的实体数量)&我希望以EAGER方式执行此操作,以便在获取基本实体时(在单个查询中)获取此内容。
Hibernate count collection size without initializing显示了如何以懒惰方式执行此操作。我想以热切的方式做到这一点,因为我有一些基于此的UI功能,并且不想多次查询。
可以使用Formula,但它们不支持HQL。在hibernate中还有其他任何方式吗?
答案 0 :(得分:0)
Hibernate有一个名为Formula的注释应该适合你:
http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#d0e2785
答案 1 :(得分:0)
您可以为此目的使用HQL查询:
select e, (select count(c) from Entity e1 join e1.collection c where e1.id = :id)
from Entity e
where e.id = :id