org.hibernate.exception.LockAcquisitionException

时间:2014-10-28 09:14:46

标签: java hibernate

我知道这个问题在Stackoverflow上问了很多次但是我在寻找它在我的代码中是如何发生的?我应该在哪里寻找代码中的更改。

忽略sessionFactory和Hibernate配置的变量声明我知道如何创建数据库连接。

public void callMethod(MyClass m){
    MyClass updatedMyClass = MyMethod(m);
    Session session = sessionFactory.openSession();
    Transaction transaction = session.beginTransaction();
    session.saveOrUpdate(updatedMyClass);
    transaction.commit();
    session.close();
}

public MyClass MyMethod(MyClass m){
    Session session = sessionFactory.openSession();
    MyClass objMyClass = (MyClass) session.get(MyClass.class, m.getId());
    .....
    objMyClass.setSomething(...);
    .....
    session.close();
    return objMyClass;
}

我对......很感兴趣。

  • 为什么会这样?
  • Session.get使用哪种锁定模式?
  • session.close()释放该数据库连接会话的所有锁定?

参考:org.hibernate.exception.LockAcquisitionException - Threads

0 个答案:

没有答案