0

我如何在hibernate中编写类似于下面的查询

update tb_image set active = !active;

4

4 回答 4

1

您应该为此使用本机查询。

于 2012-11-23T13:31:24.787 回答
0

您可以使用:

  1. 反向值的单独属性并在 Hibernate 中映射该属性
  2. 实体侦听器及其@PrePersist

第一个选项看起来更容易,而且更容易理解,imo。

于 2012-11-23T13:48:31.037 回答
0

最简单的答案是您已经加载了需要更新的实体,然后像往常一样设置该字段。setBool(!isBool())然后将更改提交到数据库。当您需要对持久存储中的数据进行操作而不是直接对对象进行操作时,我会担心您的设计。

于 2012-11-24T04:12:21.270 回答
0

使用本机查询,因为没有办法使用 Hibernate 查询语言来纠正相同的查询。

于 2012-11-26T10:42:36.633 回答