Hibernate标准。选择所有不同的实体

时间:2015-03-08 16:03:16

标签: java hibernate distinct

如何使用所有数据选择休眠中的所有不同行?

如果我使用这种方式,只会选择ID,但我需要所有带有数据的行

session.createCriteria(MyClass.class, "c")
.setProjection(Projections.distinct(Projections.id()))

如果我使用其他方法,则不会在sql级别执行,而是在之后进行过滤。如果我需要上传10 000行,这不是一个好的解决方案。

.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)

1 个答案:

答案 0 :(得分:1)

您可以在Using Hibernate's Criteria and Projections to Select Multiple Distinct Columns

中设置多个属性
 ProjectionList projList = new ProjectionList();
 projList.add(Projections.property("id.state"));
projList.add(Projections.property("id.uspsCity"))
criteria.setProjection(Projections.distinct(projList));