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

Can I use saveOrUpdate method with DynamicUpdate annotation?

您好,我是 Hibernate 新手。

我可以在实体 class 上使用带有 DynamicUpdate 注释的 saveOrUpdate 方法吗?

谁能告诉我什么时候应该使用saveOrUpdatesaveupdate方法?或者有什么优缺点?

DynamicUpdate 用于让 UPDATE 语句仅包含已更改的列,而不是所有实体列。

如果实体已经关联到当前会话(比如使用 Session.get()Session.load() 加载它时),dirty checking mechanism will automatically detected any change and issue the UPDATE on flush time.

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

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

saveOrUpdate 结合了这两种方法,但同样这仅意味着当所讨论的实体尚未关联到当前会话时。此方法对实体进行管理,以便 Hibernate 可以自动将实体与关联的数据库行同步。