1

I want to search in DB all rows with a part of Timestamp like "2014-08-12". And if there are rows like "2014-08-12 16:58:48.477" or "2014-08-12 15:58:48.477" I want to get it

I use JPA + Hibernate + Criteria API

document.setRegister_date(DateUtil.DateToSQLTimestamp("2013-08-12 16:58:48.477"));

if (register_date != null) {
        predicates.add(cb.equal(DocumentsRoot.get("register_date"), register_date));
}
Nesquik27
  • 234
  • 1
  • 7
  • 18

2 Answers2

2

If you know that the format will always exclude time, you can use a range query where you can set the from as 00:00:00.001 and to as 23:59:59.999

martin k.
  • 156
  • 3
  • 15
0
String date = "2013-08-12";

document.setRegister_date(DateUtil.DateToSQLTimestamp(date + " 00:00:00.000"));
document.setRegister_end_date(DateUtil.DateToSQLTimestamp(date + " 23:59:59.999"));    

Timestamp register_date = document.getRegister_date();
Timestamp register_end_date = document.getRegister_end_date();

predicates.add(cb.between(DocumentsRoot.get("register_date"), register_date, register_end_date));
Nesquik27
  • 234
  • 1
  • 7
  • 18