2011年4月6日 星期三

JDO 日期 範圍搜尋

JDO 在查詢日期範圍的方法,比 標準 SQL 麻煩一點 ,可以參考以下的語法,有兩種寫法

Declarative JDOQLSingle-String JDOQL, my_date_limit 就是要比較的日期




Declarative JDOQL :

Query query = pm.newQuery(domain.Product.class,
"endDate > best_before_limit");
query.declareImports("import java.util.Date");
query.declareParameters("Date best_before_limit");
query.setOrdering("endDate descending");
Collection results = (Collection)query.execute(my_date_limit);


Single-String JDOQL :

Query query = pm.newQuery("SELECT FROM mydomain.Product " +
"WHERE endDate > best_before_limit " +
"PARAMETERS Date best_before_limit " +
"import java.util.Date ORDER BY endDate DESC");
List results = (List)query.execute(my_date_limit);



日期的宣告如下

/*
宣告 2011 年 4 月 1 號
*/
Date my_date_limit = new Date(111,3,1); /// 年(1900+)、月(0=1月)、日



參考

[1] Java Data Objects

[2] JavaTM 2 Platform, Standard Edition, v 1.4.2
API Specification - java.util.Date

沒有留言: