[英]Why does this return null?
我成功發送了日期值。 我從“范圍變量”中進行了檢查。
這是我的bean中的一個函數,該函數在helper中調用一個函數:
public DataModel getFt() {
ftDataModel = new ListDataModel((List) fthelper.getByBeginDate(beginDate));
return ftDataModel;
}
這是將beginDate
發送到Hibernate的函數。 但是在這里它返回null。 為什么?
public FinancialTransactions getByBeginDate(String beginDate){
List<FinancialTransactions> FtList = null;
try {
org.hibernate.Transaction tx = session.beginTransaction();
Query q = session.createQuery("from FinancialTransactions where DATE='" + beginDate + "'");
FtList = (List<FinancialTransactions>) q.list();
} catch (Exception e) {
e.printStackTrace();
}
return FtList.get(0);
}
這些中的一個:
org.hibernate.Transaction tx = session.beginTransaction();
Query q = session.createQuery("from FinancialTransactions where DATE='" + beginDate + "'");
引發異常。 使用調試器或簡單的System.out ...查找這兩個。
您應該在查詢中使用參數:
Query q = session.createQuery("from FinancialTransactions where DATE=:date").setParameter("date",beginDate);
不應有內部異常,否則FtList.get(0)也會導致異常。
我的猜測是格式化。 您使用日期的字符串表示形式。 總是一個壞主意,因為在轉換中有很多事情可能出錯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.