5

属性のあるEntityenumカップル がありNamedQueriesます。これらのうちの 1 つは、パラメータとして属性をNamedQueries持っています。enum

SELECT m FROM Message m WHERE m.status = :status

クエリを実行しようとすると、次のエラーが発生します。

Caused by: java.lang.IllegalArgumentException: You have attempted to set a value of type class my.package.Status for parameter status with expected type of class my.package.Status from query string SELECT m FROM Message m WHERE m.status = :status.

トップリンクを使用しています

これはどのように?どうすればJPAを幸せにできますか?

4

2 に答える 2

2

列挙型オブジェクトは、他のオブジェクトと同じようにクエリパラメータとして使用できます。ただし、クエリはおそらく次のようになります。

SELECT m FROM Message m WHERE m.status = :status

また、エンティティ定義に@Enumeratedを追加しましたか?

于 2010-05-12T13:26:54.480 に答える
0

これはバグです: Enum と Bindingparameter を比較するバグ。パラメータをシャッフルすると、クエリが実行されます。

于 2010-05-12T14:10:10.030 に答える