什么是更好的独特结果:在休眠中设置或投影

时间:2013-11-26 10:43:46

标签: java hibernate hibernate-criteria

我知道在hibernate中获取唯一/不同数据列表的两种方法。我可以使用投影或将数据列表转换为休眠标准中的集合来获取唯一/不同的数据列表。

Set<Student> students = new HashSet<Student>(crt.list());

我应该使用Set over projection来获取唯一数据列表吗?

提前致谢


您好, 我得到了解决方案,现在为所有人分享。我们应该从db获取较小的数据列表,它更快。所以我认为我们应该使用Projection。但现在我实现了如下:

Criteria crt = sessionFactory.getCurrentSession().createCriteria(User.class);    
crt.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
List<User> users = crt.list(); // fetch distinct User list

我使用了Criteria.DISTINCT_ROOT_ENTITY而不是Projection。

0 个答案:

没有答案