否定Hibernate QL中的一元运算符

And*_*nov 7 java hibernate operators unary-operator

我正在尝试使用以下hql切换布尔字段:

update Entity e set e.booleanField = not e.booleanField where e.id = ?1;
Run Code Online (Sandbox Code Playgroud)

不幸的是,"QuerySyntaxException:意外的令牌:不在......附近"被抛出.

我的问题是:是否有一些支持这种表达式的hibernate一元运算符?或者任何众所周知的技巧?

sql支持这样的查询(postgresql):

update entity_table set booleanField = not(booleanField);
Run Code Online (Sandbox Code Playgroud)

小智 0

我会为此使用本机 SQL 查询。