Bartłomiej Jończy

Bartłomiej Jończy iOS / Java EE
Developer

Temat: JPA - trzy dni temu

Witam.
Mam taki problem. Mam w tabeli kolumnę typu timestamp (postgresql). Potrzebuję zbudować zapytanie, które wyciągnie wszystkie rekordy dla których data (i tylko data, niezależnie od godziny) w tej kolumnie to dokładnie -x dni (w tym konkretnym przypadku 3). Pomoże ktoś?
Z góry dziękuję.

konto usunięte

Bartłomiej Jończy

Bartłomiej Jończy iOS / Java EE
Developer

Temat: JPA - trzy dni temu

Dariusz Wawer:
może

http://developer.postgresql.org/pgdocs/postgres/functi...

pomoże?

No właśnie problem w tym, że nie mogę składni postgresa stosować, bo to zapytanie JPA. Zrobiłem coś takiego:

Query q = em.createQuery("SELECT t FROM Transaction t WHERE t.transactionInitialDate >= :beforetd1 AND t.transactionInitialDate < :beforetd2 AND t.transactionStatus = 0");

gdzie beforetd1 i beforetd2 to obiekty Date np. 2011-10-18 00:00:00 i 2011-10-19 00:00:00

Nie ma sensowniejszego rozwiązania? :-)
Łukasz D.

Łukasz D. Software Developer,
DevOps Fan

Temat: JPA - trzy dni temu

Można zrobić i tak:

List<Transaction> transactions = em.createNativeQuery("select * from transaction where date_trunc('day',transaction_initial_date) = date_trunc('day',now()) - interval '3 day'", Transaction.class).getResultList()


Oczywiście wiążesz się wtedy z konkretnym silnikiem bazy danych, ale jego raczej się nie zmienia często ;)Łukasz Dziedziul edytował(a) ten post dnia 21.10.11 o godzinie 13:15

Następna dyskusja:

JPA vs Hibernate? Plusy, mi...




Wyślij zaproszenie do