JPAクエリでCURRENT_DATE
を使用する方法の例を教えてもらえますか?JPAクエリでCURRENT_DATEを使用する例
CURRENT_DATE
がJPAで指定されていますが、動作させることができませんでした。私はいつもunexpected token [CURRENT_DATE]
の例外を受け取ります。 JPAで指定されているので、すべてのプロバイダはそれに従うべきですか?
私はEclipseLink 2.0 BTWを使用しています。
JPAクエリでCURRENT_DATE
を使用する方法の例を教えてもらえますか?JPAクエリでCURRENT_DATEを使用する例
CURRENT_DATE
がJPAで指定されていますが、動作させることができませんでした。私はいつもunexpected token [CURRENT_DATE]
の例外を受け取ります。 JPAで指定されているので、すべてのプロバイダはそれに従うべきですか?
私はEclipseLink 2.0 BTWを使用しています。
それはそうのように使用することができます:はを設立
Query query = manager
.createQuery("SELECT c FROM CITIES c WHERE c.founded = CURRENT_DATE");
for (Object city : query.getResultList()) {
System.out.println(city);
}
は...一時的なタイプです:
@Column(name = "FOUNDED")
@Temporal(TemporalType.DATE)
private Date founded = new Date();
ない良い例が、あなたのアイデアを得ます。私はEclipselink 1.1.2を使用しています
Expression Frameworkを使用している場合は、Expression
(org.eclipse.persistence.expressions.Expression
)オブジェクトにExpression currentDateDate()
メソッドがあります。
私はそれを試す必要がありますが、私は、永続性プロバイダへの依存を避けるために、一般的なJPAクエリを使用しないようにしていました。 – javydreamercsw
この質問に対する答えは、JPA経由で値を取得してからプレーンJavaで計算していました。
あなたは本当に近いです。私はあなたの返事を見る直前にそれを得ました。 表xからxを選択x.id = 1(x.lastModified-CURRENT_DATE)> = 365 日付の計算を使用する必要があります。 – javydreamercsw
JPAを使用して日時計算を行うことは可能ですか?あなたは、差異を曜日に変換する機能を持たなければなりません(数分や数ヶ月や数千年などではありません)。私はそのような機能を認識していません。 Javaで日付演算を行い、結果の範囲との比較を選択するだけです。 – McDowell
これはJPAの欠陥または機能の欠落と思われます。私はそれを私が推測するようにしなければならない。ありがとう! – javydreamercsw