[英]How to fix “The Encapsulated Expression is Missing” error in JPA/Hibernate while using Update Named Query?
編寫命名查詢時,我遇到了缺少表達式的封裝表達式。
int a = em.createQuery("UPDATE MyProsess d SET d.updateDate = current_date() WHERE d.personId = :personId")
即使當我將多個參數傳遞給上述查詢時,它也會出現一些新錯誤。 例如
int a = em.createQuery("UPDATE MyProsess d SET d.updateDate = current_date(), d.status=:stat WHERE d.personId = :personId")
任何人都可以建議如何解決此問題?
好,我知道了。 請用“ current_date”替換current_date()刪除方括號,我認為HQL無法使用方括號識別它。 現在在您的實體中有java.util.Date,而current_date將返回java.sql.Date,這需要轉換。 使用@Temporal(TemporalType.Date)批注標記屬性updateDate以確保平滑轉換。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.