我想創建一個查詢,該查詢將基於createDate字段落在表示日期的傳遞字符串之後而返回一個Person對象列表。使用日期列的HQL查詢
我CREATEDATE領域是這樣映射在我的Person類
@Basic(optional = false)
@Column(name = "CREATE_DATE")
@Temporal(TemporalType.DATE)
private Date createDate;
我的功能,找到所有的人結果的日期看起來像這樣之後。
public List<Person> searchDate(String startDate) {
Session session = getSessionFactory().openSession();
String s_query = "FROM Person as p WHERE p.createDate >= :date";
Query query;
DateFormat df = new SimpleDateFormat('dd-MMM-yy');
try {
Date dt = df.parse(startDate);
query = session.createQuery(s_query).setDate("date", dt);
} catch(ParseException e){}
return (List<Person>)query.list();
}
您能否請張貼錯誤? – dseibert 2011-03-24 19:10:10
@ client09,沒有錯誤,它只是不返回正確的列表,它實際上沒有找到任何東西。它應該找到一個值,我已經在SQL開發人員測試了查詢,以確保應該返回一個值 – medium 2011-03-24 21:50:14
也許你想實際捕獲ParseException並將某些內容打印到日誌中? – mindas 2011-03-24 21:58:39