簡體   English   中英

如何在JPA中使用Enum作為NamedQuery參數

[英]How to use Enum as NamedQuery parameters in JPA

我有一個帶有enum屬性的Entity和一對有關NamedQueries 其中一個NamedQueries具有enum屬性作為參數ie

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

另外 - 在實體定義中添加了@Enumerated?

這是一個錯誤: 將Enum與Bindingparameter進行比較的Bug 我拖着參數,查詢執行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM