Nesquik27
Nesquik27

Reputation: 254

How to search by not complete timestamp by Criteria API

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));
}

Upvotes: 1

Views: 111

Answers (2)

Nesquik27
Nesquik27

Reputation: 254

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));

Upvotes: 0

martin k.
martin k.

Reputation: 166

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

Upvotes: 2

Related Questions