Hibernate查询中的死锁

时间:2017-06-02 04:15:53

标签: java hibernate deadlock c3p0

我已经浏览过互联网,但在下面没有找到任何东西。如果我错过了什么,请告诉我。

我们的服务器遇到c3po的“表观死锁”异常。 PFB DAO功能:

 try{
   criteria = session.createCriteria();
   ....... // restriction et al.
   List<MyObject> myObj = (List<MyObj>) criteria.list();
 }catch(Exception e){ //exception handling }
 }finally{ session.close();  }

当我们在MyObject.class

中添加以下代码时,我们开始看到死锁异常
 public class MyObject{
  ...//member variables and methods
  private Set<CustomClass> variable;

  public void setVariable(Set<CustomClass> variables){
     variables.stream().sorted((e1, e2) -> e1.myFn()
                .compareTo(e2.myFn())); //encountered deadlock exception after adding this line
     this.variables = variables;
  }
 }

我删除了排序代码并在hbm映射中添加了一个order-by子句来修复死锁异常。 我的问题是 - 为什么这会引起僵局?

谢谢!

编辑:更正了代码中的拼写错误

0 个答案:

没有答案