我需要從搜索條件輸入年份的所有記錄。 例如: String year =「2012」;休眠標準獲得2012年的記錄
在冬眠它的工作爲
criteria.add(Restrictions.like("createDate", "%"+year+"%"));
CREATEDATE在格式DD-MM-YY。
請建議..
我需要從搜索條件輸入年份的所有記錄。 例如: String year =「2012」;休眠標準獲得2012年的記錄
在冬眠它的工作爲
criteria.add(Restrictions.like("createDate", "%"+year+"%"));
CREATEDATE在格式DD-MM-YY。
請建議..
criteria.add(Restrictions.like("createDate", "%2012%", MatchMode.ANYWHERE));
但我寧願(目前它的字符串?)改變你的數據庫字段的日期格式,比對照(而不是等)進行更大。
,以便使用大於或等於2012年1月1日且小於1-jan-2013 – NimChimpsky 2012-04-02 10:09:03
like
只適用於字符串。對於日期字段,你可以使用Restrictions.between()
產生between '01/01/2012 00:00:00' and '12/31/2012 23:59:59'
的where子句
SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
Date fromDate = df.parse("1-1-2012 00:00:00");
Date toDate = df.parse("31-12-2012 23:59:59");
criteria.add(Restrictions.between("createDate", fromDate, toDate));
而且,請注意,標準API中使用的所有屬性是Java屬性名稱,而不是實際的列名。
什麼是錯誤?請發佈堆棧跟蹤 – 2012-04-02 09:22:17