您好,我是 Hibernate 新手。
我可以在实体类上使用带有 DynamicUpdate
注解的 saveOrUpdate
方法吗?
有人可以向我解释一下我什么时候应该使用 saveOrUpdate
、save
和 update
方法吗?或者说有什么优点和缺点?
最佳答案
DynamicUpdate当您让 UPDATE 语句仅包含已更改的列(而不是所有实体列)时使用。
如果该实体已与当前 session 关联(例如使用 Session.get()
或 Session.load()
加载它时),dirty checking mechanism将自动检测任何更改并在 flush time 上发出更新.
save
用于将实体状态从 TRANSIENT 更改为 PERSISTED,仅当您将新对象保存到数据库中时才有用。
“更新”方法用于重新关联分离的实体。
saveOrUpdate
结合了这两种方法,但同样,这仅在相关实体尚未与当前 session 关联时才有意义。此方法使实体受到管理,以便 Hibernate 可以自动将实体与关联的数据库行同步。
关于java - 我可以将 saveOrUpdate 方法与 DynamicUpdate 注释一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32110728/