我可以将saveOrUpdate方法与DynamicUpdate注释一起使用吗?

时间:2015-08-20 06:09:35

标签: java database hibernate orm hibernate-mapping

您好我是Hibernate的新手。

我可以在实体类上使用saveOrUpdate方法和DynamicUpdate注释吗?

有人可以向我解释我应该何时使用saveOrUpdatesaveupdate方法?或者说有什么优点和缺点?

1 个答案:

答案 0 :(得分:0)

如果要使UPDATE语句仅包含已更改的列(而不是所有实体列),则使用

DynamicUpdate

如果实体已与当前会话相关联(例如使用Session.get()Session.load()加载),则dirty checking mechanism会自动检测到任何更改并在{{{{}}上发出更新3}}

save用于将实体状态从TRANSIENT更改为PERSISTED,它仅在将新对象保存到数据库时才有用。

'update'方法用于重新关联分离的实体。

saveOrUpdate结合了这两种方法,但这仅仅意味着有问题的实体尚未与当前会话相关联。此方法使实体受到管理,以便Hibernate可以自动将实体与关联的数据库行同步。