0

名前付きクエリを使用して、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フィールドであり、FromDateごとに異なるレコードを取得したい

namedqueryを使用することは可能ですか?

4

1 に答える 1

0

これがどのように可能になるかわかりません.JPQLは、任意のデータベースのSQLに変換できる言語を提供します.これは明らかにデータベース固有のキーワードを除外します.

私の提案は、PostgreSQL のドキュメントでGROUP BY提案されているように、代わりにサブクエリを使用することです。

このDISTINCT ON節は SQL 標準の一部ではなく、結果が不確定になる可能性があるため、不適切なスタイルと見なされることがあります。コンストラクト内でおよび サブクエリを適切に使用することで回避できますがGROUP BYFROM、多くの場合、これが最も便利な代替手段です。

または、移植性が問題にならない場合は、ネイティブ クエリを使用します。

于 2010-08-15T02:07:31.850 に答える