在Ejb-QL上使用DISTINCT

时间:2010-08-14 12:23:07

标签: java orm jpa jpql

是否可以使用命名查询在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字段,我想从明智的不同记录中获取

是否可以使用namedquery?

1 个答案:

答案 0 :(得分:0)

我看不出这是怎么可能的:JPQL提供了一种可以转换为任何数据库的SQL的语言,这显然不包括数据库特定的关键字。

我的建议是改为使用GROUP BY和子查询,如建议in the PostgreSQL documentation

  

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

如果不考虑可移植性,则使用本机查询。