Mam znacznik czasu w bazie danych iw aplikacji mam datę. Lubię pisać kryteria hibernacji w taki sposób, że hibernacja może przeciągnąć wszystkie wpisy, które pasują do daty, a nie część czasu. np.Porównaj datę Data część tylko z sygnaturą czasową w Hibernate
w DB datownik
2011-12-01 15:14:14
iw aplikacji mam java.util.Date, który ma po części domyślnego czasu.
moim problemem jest to, kiedy wyszukiwać wpisy z bazy danych z następujący kod otrzymuję nic
DetachedCriteria criteria = DetachedCriteria.forClass(MyClass.class);
criteria.add(Restrictions.like(TIMESTAMP_FIELD, javaUtilDate));
List entries =this.getHibernateTemplate().findByCriteria(criteria);
góry dzięki
jeśli konwertuję datę na ciąg, to pokazuje mi 2011-12-11 02:00:00 ', a jeśli odejmę lub dodaję jeden dzień, to moje zapytanie nie będzie dawać wiarygodnych wyników. w ten sposób otrzymam wpisy kłamstw przed określonym dniem z powodu części czasu. – Rehman
Użyj odpowiednich limitów dat. Ustaw wszystkie pola czasu (godziny, minuty, sekundy, milisekundy) na 0. To powoduje, że dolna granica. Dodaj jeden dzień. To sprawia, że górna granica. –