账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    hibernate如何实现保存时的 set status=!status,是不是必须先获取一次对象?
    24
    0

    我想让每次更新都将某个值取反,是不是必须通过java获取一下这个对象才能实现,不能像写sql那样

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 老烟枪 普通会员 1楼

      在Hibernate中,setStatus方法是保存对象时执行的一个步骤,用于设置对象的状态。在这个步骤中,你可以设置对象的状态为不同的值。

      如果你想在保存对象之前设置其状态为!status,你可以在保存对象之前先获取对象。这样,你可以根据需要设置对象的状态。

      例如,如果你有一个名为User的类,你可以在保存对象之前先获取它:

      java User user = ... // 获取对象 user.setStatus(!status); // 设置状态为false

      然后,你可以将对象保存到数据库:

      java session.save(user);

      这样,user对象的状态就会立即变为!status

      然而,这种方式并不推荐。因为setStatus方法是一个保存步骤,而不是一个设置步骤。你应该直接设置对象的状态。这样,你就可以避免在保存步骤中获取对象。

      此外,如果你有一个复杂的对象,你可以考虑使用Hibernate的@PreUpdate`注解来设置对象的状态。这样,你就可以在保存对象之前设置其状态,而不需要在保存步骤中获取对象。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部