为什么 session.refresh(Object, LockMode.UPGRADE) 在休眠中被弃用?
Why session.refresh(Object, LockMode.UPGRADE) is deprecated in hibernate?
我的要求:
我正在使用 Quartz cron
进行触发,许多触发器 运行 在同一行但基于不同的列。所以当触发器需要更新它的相关列时。触发器首先从数据库中刷新(Session.refresh(object)
)属于它的对象(在触发器开始时选择对象),然后在行级别获取UPGRADE LOCK
。如果成功获得锁定,则更新列并使用 session.update(object)
在数据库中更新。并释放锁。
session.refresh(Object, LockMode.UPGRADE)
的替代方法是什么?使用 hibernate 避免脏更新的有效方法是什么?
为什么它在休眠中被弃用?
What is the alternative of session.refresh(Object, LockMode.UPGRADE)
and efficient way to avoid dirty update using hibernate ?
Deprecated. LockMode
parameter should be replaced with LockOptions
例如,使用refresh(Object,LockOptions)
。
它没有说明为什么,但很清楚该怎么做。 (还有一个LockOptions.UPDATE
。)
我的要求:
我正在使用 Quartz cron
进行触发,许多触发器 运行 在同一行但基于不同的列。所以当触发器需要更新它的相关列时。触发器首先从数据库中刷新(Session.refresh(object)
)属于它的对象(在触发器开始时选择对象),然后在行级别获取UPGRADE LOCK
。如果成功获得锁定,则更新列并使用 session.update(object)
在数据库中更新。并释放锁。
session.refresh(Object, LockMode.UPGRADE)
的替代方法是什么?使用 hibernate 避免脏更新的有效方法是什么?
为什么它在休眠中被弃用?
What is the alternative of
session.refresh(Object, LockMode.UPGRADE)
and efficient way to avoid dirty update using hibernate ?
Deprecated.
LockMode
parameter should be replaced withLockOptions
例如,使用refresh(Object,LockOptions)
。
它没有说明为什么,但很清楚该怎么做。 (还有一个LockOptions.UPDATE
。)