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

标签 java database hibernate orm hibernate-mapping

您好,我是 Hibernate 新手。

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

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

最佳答案

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/

相关文章:

java - 无法解析 Android Studio 中的符号

java - Clearcase vi 的配置规范

java - Spring 通过 XML Beans 定义注册多个 Hibernate 数据源

hibernate - 使用 Hibernate : SEVERE: IOException while loading persisted sessions: java. io.InvalidObjectException 进行集群:找不到 SessionFactory

oracle - 如何在 Oracle 数据库的 HQL 查询中使用当前日期?

java - 如何避免在 Java 中创建 Thread 敌对类

java - 未添加 JPA 一对一关系

java - 使用笛卡尔积分页

php - bind_param 不工作(在非对象上)mysqli 准备语句

Java/JDBC MySQL 数据库 - 设计查询