在hibernate中改变列的布尔值的方法

时间:2012-11-23 13:15:12

标签: java hibernate

如何在hibernate

中编写类似于以下查询的内容
  

update tb_image set active = !active;

4 个答案:

答案 0 :(得分:1)

您应该使用本机查询。

答案 1 :(得分:0)

您可以使用:

  1. 反转值的单独属性,并在Hibernate中映射该属性
  2. Entity Listeners及其@PrePersist
  3. 第一个选项看起来更容易,理解它会更容易,imo。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

使用本机查询,因为无法使用Hibernate查询语言对相同的查询进行更正。