【问题标题】:What is the difference between Projections.distinct(Projections.count("objectId")) and Projections.countDistinct("objectId")Projections.distinct(Projections.count("objectId")) 和 Projections.countDistinct("objectId") 有什么区别
【发布时间】:2016-04-28 21:51:52
【问题描述】:
Projections.distinct(Projections.count("objectId")) 

Projections.countDistinct("objectId")

谁能告诉我它们之间有什么区别?什么时候使用一个而不是另一个? 哪个是获得不同计数的正确方法? 两个语句生成的查询是否相同?

【问题讨论】:

    标签: java oracle hibernate hibernate-criteria


    【解决方案1】:
    Projections.distinct(Projections.count("objectId")) 
    

    Projections.distinct 可以使用投影组合,例如

    Projections.distinct(projectionsList)
    

    projectionsList 是这样定义的

    ProjectionList projectionsList  = Projections.projectionList();
    projectionsList .add(Projections.property("id"));
    projectionsList .add(Projections.property("name"));
    ...
    

    Projections.countDistinct() 只是一种基于字段的投影。

    所以其实没有区别。如果您需要某些字段组合的不同计数,则可以使用第一个

    【讨论】:

    • 如果您认为答案正确,请接受答案
    猜你喜欢
    • 2017-10-31
    • 2018-02-13
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-02
    • 2018-07-03
    • 1970-01-01
    相关资源
    最近更新 更多