簡體   English   中英

為什么返回空值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM