hibernate 锁的问题

racke 2006-06-08 08:24:02
请问 session 对象的lock() 是干吗的?
...全文
148 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
racke 2006-06-15
  • 打赏
  • 举报
回复
查询和修改都不能
目木 2006-06-15
  • 打赏
  • 举报
回复
锁住的别的线程还能不能查询的?

racke 2006-06-14
  • 打赏
  • 举报
回复
session.get(Employee.class,new Long(0),LockMode.UPGRADE);
是得到这条纪录的悲观锁。
那如果是LockMode.READ还会不会得到悲观锁?
用session.lock(employee,LockMode.READ);
做同步,即把employee从detached状态变为persistence状态,此时会不会得到悲观锁呢
didoleo 2006-06-08
  • 打赏
  • 举报
回复
就把这条记录锁住了。
didoleo 2006-06-08
  • 打赏
  • 举报
回复
比如你要编辑一条记录的时候要防止被别的用户编辑,
可以session.get(Employee.class,new Long(0),LockMode.UPGRADE);
相当与 select ... from employee for update

(这个是oracle 的语法)

也可以session.lock();

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧