SQL 版本可以正常工作,我可以切换名为 bar 的布尔值 ...
mysql> update Foo set bar = ! bar WHERE id IN (1, 7, 13);
Query OK, 3 rows affected (0.02 sec)
是否有一个简单的 JPA Query 等价物,我试过了
final Set<Integer> ids;
final Query query = em.createQuery("UPDATE " + Foo.class.getName()
+ " a set bar= !bar"
+ " where a.id in :ids");
query.setParameter("ids", ids);
query.executeUpdate();
上面给出了 org.hibernate.QueryException。
在我的实体中:
@Column(columnDefinition = "INTEGER", nullable = false)
private boolean bar;
关于 JPA 语法的任何想法?