0

日付値を正常に送信しました。「Scoped Variables」から確認しました。

これは、ヘルパーの関数を呼び出す私の Bean の関数です。

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);
}
4

2 に答える 2

0

これらから 1 つ:

org.hibernate.Transaction tx = session.beginTransaction();
Query q = session.createQuery("from FinancialTransactions where DATE='" + beginDate + "'");

例外をスローします。デバッガーまたは単純な System.out... を使用して、これら 2 つのどちらかを見つけます。

于 2013-03-24T20:51:53.760 に答える
0

クエリでパラメーターを使用する必要があります。

Query q = session.createQuery("from FinancialTransactions where DATE=:date").setParameter("date",beginDate);

内部例外があってはなりません。そうしないと、FtList.get(0) も例外になります。

私の推測では、整形です。日付の文字列表現を使用します。変換でうまくいかないことがたくさんあるので、常に悪い考えです。

于 2013-03-24T20:58:37.253 に答える