0
我有以下ceode競選「創意」類的所有領域。有些字段是日期。比較日期hiberanate標準查詢
Criteria creativeCriteria = getSession().createCriteria(PcmCreative.class);
for(Entry<String,Object> mapEntry : propValMap.entrySet()){
if(mapEntry.getValue() == null){
creativeCriteria.add(Restrictions.isNull(mapEntry.getKey()));
//creativeCriteria.add(Restrictions.disjunction().add(Restrictions.isNull(mapEntry.getKey())).add(Restrictions.eq(mapEntry.getKey(),mapEntry.getValue())));
}else{
creativeCriteria.add(Restrictions.eq(mapEntry.getKey(),mapEntry.getValue()));
}
}
creativeCriteria.createAlias("campaign", "c").add(Restrictions.eq("c.campaignNumber", campaignNumber));
creativeCriteria.setProjection(Projections.rowCount());
return (Integer)creativeCriteria.uniqueResult();
我使用follwing代碼格式化我的日期:
String strDate = DateUtils.convertDateToString((Date) fieldValue,CmtConstants.CMTDATE_MYSQL_COMPARISION_FORMAT);
//fieldValue = DateUtils.convertStringToDate(strDate,CmtConstants.CMTDATE_MYSQL_COMPARISION_FORMAT);
其中CMTDATE_MYSQL_COMPARISION_FORMAT是 'YYYY-MM-DD'。
但比較失敗。作爲DateUtils.convertStringToDate返回的日期,它在內部使用SimpleDateFormat.parse方法,它包含GMT字符串以及我認爲在休眠期間失敗critrai相等的情況。任何soulutions如何刪除GMT字符串和獲取日期只包含日期和時間部分?