簡體   English   中英

如何通過Criteria API未完成時間戳搜索

[英]How to search by not complete timestamp by Criteria API

我想在數據庫中搜索帶有“ 2014-08-12”這樣的一部分時間戳的所有行。 如果有類似“ 2014-08-12 16:58:48.477”或“ 2014-08-12 15:58:48.477”的行,我想獲取它

我使用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));
}

如果您知道格式將始終排除時間,則可以使用范圍查詢 ,您可以將設置為from 00:00:00.001 to 23:59:59.999

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM