【问题标题】:use DISTINCT ON Ejb-QL在 Ejb-QL 上使用 DISTINCT
【发布时间】:2011-03-29 20:02:58
【问题描述】:

是否可以使用命名查询在 EJB 中使用类似 PostgreSQL 的 DISTINCT ON?

o.fromDate,o.empLeaveMasterId,o.employeeInfoId, o.leavePurposeId ,o.toDate,o.createdByUserId,o.createDate,o.lastModifiedUserId,o.lastModifiedDate,o.isSystemRecord

上面描述的字段是我的实体 bean 字段,我想从日期明智的不同记录中获取

是否可以使用命名查询?

【问题讨论】:

    标签: java orm jpa jpql


    【解决方案1】:

    我不明白这怎么可能:JPQL 为any 数据库提供了一种可以翻译成SQL 的语言,这显然不包括特定于数据库的关键字。

    我的建议是改用GROUP BY 和子查询,正如in the PostgreSQL documentation 所建议的那样:

    DISTINCT ON 子句不是 SQL 标准的一部分,由于其结果可能具有不确定性,因此有时被认为是不好的样式。 明智地使用GROUP BYFROM 中的子查询可以避免构造,但它通常是最方便的选择。

    如果不关心可移植性,也可以使用本机查询。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多