我有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高兴?答案 0 :(得分:2)
Enum对象可以像任何其他对象一样用作查询参数。但是你应该查询:
SELECT m FROM Message m WHERE m.status = :status
另外 - 在实体定义中添加了@Enumerated吗?
答案 1 :(得分:0)
这是一个错误:Bug Comparing Enum with Bindingparameter。我在参数周围乱窜,执行查询。