我们应该在hibernate查询中使用LockOptions而不是LockMode吗?

时间:2010-06-16 14:03:12

标签: hibernate locking

我看到两个用于锁定hibernate的类 -

  1. LockOptions
  2. LockMode
  3. 两者有什么区别?什么时候使用?

2 个答案:

答案 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);