【问题标题】:Using Hibernate's Criteria and Projections to Select Multiple Distinct Columns使用 Hibernate 的 Criteria 和 Projections 选择多个不同的列
【发布时间】:2011-07-08 22:47:27
【问题描述】:

使用 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'

这显然会引发错误。

除了不使用 Criteria 之外,还有其他解决方案吗?

谢谢,

布兰登

【问题讨论】:

    标签: sql hibernate criteria distinct hibernate-criteria


    【解决方案1】:
    ProjectionList projList = Projections.projectionList();
    projList.add(Projections.property("id.state"));
    projList.add(Projections.property("id.uspsCity"));
    criteria.setProjection(Projections.distinct(projList));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-14
      • 1970-01-01
      • 2013-06-25
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多