由于某种原因,eclipse IDE抱怨我的JPQL @NamedQuery
输入参数只能在WHERE子句或HAVING子句中使用 查询。
和
关联字段不能在更新项目路径中使用 表达。
这是我的查询
"UPDATE ereturn er " +
"SET " +
"er.shipper = :shipper, " +
"er.consignee = :consignee, " +
"er.notes = :notes, " +
"er.pickupDateTime = :pickupDate, " +
"er.productItems = :productItems, " +
"er.returned = :returned, " +
"er.returnMethod = :returnMethod, " +
"er.rma = :rma, " +
"er.scanDateTime = :scanTime, " +
"er.status = :status, " +
"er.dispatchedDate = :dispatchedTime, " +
"er.barcode = :barcode, " +
"er.groupName = :groupName " +
"WHERE er.id = :id"
有什么想法吗?
非常感谢
答案 0 :(得分:0)
JPQL不是更新语句的最佳选择,最好只是从持久性上下文更新对象或使用本机查询
答案 1 :(得分:0)
如果您的JPA版本是2.0或更低版本,则只能使用WHERE子句中的参数。
它从2.1版及更高版本开始更改,如您在JSR 338: Java TM Persistence API, Version 2.1的4.6.4节中所见
输入参数只能在WHERE子句或HAVING子句中使用 查询或作为SET子句中更新项的新值 更新声明。