我看到两个用于锁定hibernate的类 -
LockOptions
LockMode
两者有什么区别?什么时候使用?
答案 0 :(得分:1)
参考Session javadoc http://docs.jboss.org/hibernate/orm/4.2/javadocs/,LockMode参数应该用LockOptions替换。
以下是javadoc的摘录。
@Deprecated 对象加载(String entityName, 可序列化的id, LockMode lockMode) 的已过时。 LockMode参数应替换为LockOptions 返回具有给定标识符的给定实体类的持久化实例,获取指定的锁定模式,假设实例存在。
参数:
entityName - 持久化类
id - 类
的现有持久化实例的有效标识符lockMode - 锁定级别
返回:
持久化实例或代理
答案 1 :(得分:0)
我没有明确的答案,但对于MySQL,生成for update
sql语句的唯一方法是:
query.setLockOptions(LockOptions.UPGRADE);