8

次のhqlを使用してブールフィールドを切り替えようとしています。

update Entity e set e.booleanField = not e.booleanField where e.id = ?1;

残念ながら、「QuerySyntaxException:予期しないトークン:近くにありません...」がスローされました。

私の質問は、そのような式をサポートする休止状態の単項演算子はありますか?または、よく知られているトリックはありますか?

sqlはそのようなクエリをサポートします(postgresql):

update entity_table set booleanField = not(booleanField);
4

2 に答える 2

3

notHQL / JPQLで単項演算子と同等のブールプロパティを切り替えるには、次を使用します。

UPDATE entity e SET e.booleanField = (e.booleanField=false)
于 2014-01-21T16:32:09.250 に答える
0

これにはネイティブSQLクエリを使用します。

于 2012-07-16T02:33:52.673 に答える