n00*_*13f 5 java jpa toplink java-ee
我有Entity一个enum属性和一对夫妇NamedQueries.其中一个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.
我正在使用Toplink
这怎么样?我如何让JPA开心?
就像任何其他对象一样,枚举对象可以用作查询参数。然而,您的查询可能应该是:
SELECT m FROM Message m WHERE m.status = :status
Run Code Online (Sandbox Code Playgroud)
另外 - 在实体定义中添加了 @Enumerated 吗?