在我的数据库中,我有一个测试表,其中包含列:testName、testType
有 2 个不同的测试具有相同的类型,即“SUN”,所以我只想要其中一个,我在休眠/标准中使用 Distinct,如下所示,但它仍然给我两种名称与“sun”相同的类型。
Criteria crit = session.createCriteria(Test.class);
final ResultTransformer trans = new DistinctRootEntityResultTransformer();
crit.setResultTransformer(trans);
List rsList = trans.transformList(crit.list());
知道可能是什么原因,或者任何其他过滤重复项的方法。
使用 Projections.distinct。
Criteria crit = session.createCriteria(Test.class).setProjection(
Projections.distinct(Projections.projectionList()
.add(Projections.property("type"), "type") )
.setResultTransformer(Transformers.aliasToBean(YourBean.class));
List lst = crit.list();
其中 YourBean.class 有一个属性“type”。返回的列表将是List<YourBean>
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)