5

JPA 2.0 から非常に奇妙な動作が発生しています

次のようなクエリを作成しようとしています。ここで、employeId と empDepartment は、Java 引数を通過する長い値です。

Query query=em.createQuery("SELECT e FROM Employee e WHERE e.empId = :empId and e.empDepartment = :empDepartment");
query.setParameter("empId" ,employeId);
query.setParameter("empDepartment",empDepartment);

しかし、上記のクエリは最初は機能せず、上記のエラーが生成されますが、2 回目に同じメソッドを再度トリガーすると、すべてがスムーズに進み、毎回これが発生します。その理由は何ですか?

4

2 に答える 2

0

これを試すことができます:

Query query=em.createQuery("SELECT e FROM Employee e WHERE e.empId = ? and  e.empDepartment = ?");
query.setParameter(1, employeId);
query.setParameter(2, empDepartment);

これも機能しない場合は、パラメーターの置換ではなく、クエリの内容にも問題がある可能性があります。タイプが正しくない可能性があります。パラメーターの型は、コンテキストによって推測されます。

于 2013-08-10T09:27:02.170 に答える