2012-09-18 10 views
7

可能性の重複をマッチングクエリを作成します。
Example of using CURRENT_DATE in JPA query現在の日付の

私は、現在の日付に対して、DBに格納されている日付を比較するために、私のリポジトリにクエリを追加しようとしています。

私のクエリは、このようなものです:

@Query("Select c from Customer c where c.terminated != 1 or c.terminationDate > <currentDate>") 
public List<Customer> getTerminatedCustomers(); 

私は<currentDate>のために何を挿入することができますか?

すべてが失敗した場合は、メソッドにパラメータを追加して、このようなクエリに現在の日付を渡すことができます。しかし、私は可能であればもっと洗練されたソリューションを望んでいます。

答えて

20

この質問は実際にはthis oneの複製です。 Java Persistence API仕様のセクション4.6.17.2.3には、定義済みの関数CURRENT_DATE,CURRENT_TIMEおよびCURRENT_TIMESTAMPがあります。だから、クエリは、 `とき)` CURRENT_DATE`が標準JPA機能であり、それはすべてのJPAプロバイダとRDBMS間で同じように動作するはずです、それは `CURRENT_DATE(あるべきという事実について

select c from Customer c where c.terminated != 1 or c.terminationDate > CURRENT_DATE 
+0

として定義しなければならないであろうSQL ServerでHibernateで使用されます。 ([proof](https://stackoverflow.com/q/15298426/1429387)) – naXa

関連する問題