0

整数を介して名前付きクエリに値を渡しているにもかかわらず、上記のメッセージが表示されます。誰でも理由を説明できますか?ありがとう

DAO Java コード

Calendar cal = Calendar.getInstance();
cal.setTime(interval.getStartDate());        
query.setParameter("academicYear", new Integer(cal.get(Calendar.YEAR)));

クエリ:

@NamedQuery(name = "StudentDemographics.findByMOEDEqual", query = "SELECT s.student FROM StudentDemographics s " +
            "WHERE :academicYear = s.academicYear " +
            "AND UPPER(s.MOED) like :MOED"),

エラー: パラメータ値 [2011] はタイプ [java.lang.Integer] と一致しませんでした

環境は Spring w Hibernate/JQL + SQL Server です

4

1 に答える 1

3

同様の問題があり、次の方法で修正できました。

それぞれのフィールドのとしてintの代わりに longを使用しました。

于 2012-01-24T22:25:17.887 に答える