如何使用所有数据选择休眠中的所有不同行?
如果我使用这种方式,只会选择ID,但我需要所有带有数据的行
session.createCriteria(MyClass.class, "c")
.setProjection(Projections.distinct(Projections.id()))
如果我使用其他方法,则不会在sql级别执行,而是在之后进行过滤。如果我需要上传10 000行,这不是一个好的解决方案。
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
答案 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));