我想以给定的百分比更新我的实体中的所有价格。我的代码:
@Override
public List<ProductDTO> updatePriceByPercent(double percent) {
EntityManager em = getEntityManager();
TypedQuery<ProductDTO> q = em.createNamedQuery("ProductDTO.updatePriceByProcent", ProductDTO.class);
q.setParameter("percent", percent);
q.executeUpdate();
return q.getResultList();
}
我的查询如下:
@NamedQuery(name = "ProductDTO.updatePriceByPercent", query="update ProductDTO set price += price * :percent")
并且给了我以下错误:
[29,30] UPDATE条款的价格为+&#39;和&#39; =价格*:百分比&#39;没有用逗号分隔。
[28,28]必须指定等号。
[30,30]算术因子必须后跟表达式。
[30,30]缺少状态字段路径表达式。
[32,37]左表达式不是算术表达式。