2012-09-18 15 views
7

Olası Çoğalt eşleşen: Ben geçerli tarih karşısında db depolanan bir tarih karşılaştırmak benim deposuna bir sorgu eklemek çalışıyorum
Example of using CURRENT_DATE in JPA queryoluşturma Sorgu geçerli tarih için

.

Benim sorgu şu şekildedir:

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

Ben <currentDate> için ne ekleyebilirsiniz?

Her şey başarısız olursa, yönteme bir parametre ekleyebilir ve geçerli tarihi bu sorguya iletebilirim. Ama mümkünse daha zarif bir çözüm tercih ederim.

cevap

20

Bu soru aslında bir kopyasıdır this one. Java Persistence API spesifikasyon bölümü 4.6.17.2.3'e göre, önceden tanımlanmış CURRENT_DATE, CURRENT_TIME ve CURRENT_TIMESTAMP fonksiyonları bulunmaktadır. Yani sorgu CURRENT_DATE` standart JPA işlevidir `gerçeği İlişkin

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

olarak tanımlanabilir olurdu ve tüm JPA sağlayıcılar ve RDBMS genelinde aynı şekilde çalışması gerekir, bu zaman') (CURRENT_DATE 'olmalı SQL Server ile hazırda kullanılır. ([Geçirmez] (https://stackoverflow.com/q/15298426/1429387)) – naXa

İlgili konular