使用Hibernate的条件和投影来选择多个不同的列

qmb5sa22  于 8个月前  发布在  其他
关注(0)|答案(1)|浏览(69)

使用Hibernate的Criteria,我想执行等价的:

select distinct uspscity, state from citycomplete where USPSCITY = 'HOUSTON'

我认为做以下事情会得到我想要的结果:

ProjectionList projList = new ProjectionList();
projList.add(Projections.distinct(Projections.property("id.state")));
projList.add(Projections.distinct(Projections.property("id.uspsCity")));
criteria.setProjection(projList);

但是,这实际上是执行这样的操作:

select distinct uspscity, distinct state from citycomplete where USPSCITY = 'HOUSTON'

显然,这会抛出一个错误。
除了不使用标准之外,是否有解决方案?
谢谢你,
布兰登

inb24sb2

inb24sb21#

ProjectionList projList = Projections.projectionList();
projList.add(Projections.property("id.state"));
projList.add(Projections.property("id.uspsCity"));
criteria.setProjection(Projections.distinct(projList));

相关问题