JPA:使用count直接将集合大小映射到属性?

时间:2010-11-19 23:39:23

标签: java hibernate jpa

班级AB有一对多的关系。因此,A具有属性collectionOfB

我有没有办法将“计数B”映射到A中的单个属性?

目的是提供一种快捷方式来检索关联的B的数量而不加载整个集合。有时我只需要计数即收集大小。我知道我可以针对实体管理器发出一个查询。但是,由于注释,由JPA提供商完成它当然是更可取的。

3 个答案:

答案 0 :(得分:3)

我能够使用Hibernate的超级映射来解决我的问题:http://www.frightanic.com/2010/11/21/extra-lazy-one-to-many-mapping-with-hibernate/

答案 1 :(得分:0)

据我所知,这是不可能的。 正如您已经建议的那样,运行一个查询来实现这一目标,除非您拥有数十万个B对象,并且仍然可以缓存它并且每次只更新x分钟,否则这不应该是昂贵的。

更容易出错的解决方案是让统计实体拥有这些数字。

答案 2 :(得分:0)