0

2 つの列に基づいて計算される Predicate を書きたいと思います。たとえば、daysBetween (int) と lastSent (日付) があります。

次のクエリを実行できる可能性があるかどうかを知りたいです。

last_sent + [間隔である他の列] lessThan now() である X から選択します。

に似たもの(そして、これは正しい書き方ではありません..)、

builder.between(userData.<Date>get("lastSent").addDays(userIntervals.<Integer>get("interval")),DateUtils.now());

述語を使用してそのようなクエリを作成する方法はありますか?

4

1 に答える 1

0

JPA Criteria は addDays() API を定義していません。function() API を介してデータベース固有の関数を呼び出すことができます。

http://en.wikibooks.org/wiki/Java_Persistence/Criteria#Special_Operationsを参照してください 。

一部の JPA プロバイダーは、JPQL および Criteria の拡張機能を提供します。

http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Querying/Criteria#JpaCriteriaBuilder_and_EclipseLink_Extensionsを参照して ください

と、

http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Querying/JPQL#EclipseLink_Extensions_.28EQL.29

于 2013-02-04T14:48:12.583 に答える