调用hibernate的save方法,连续保存数据,到保存第四条的时候特别慢,为什么

解决方案 »

  1.   

    我的uuid是自动hibernate管理的,是不是和这有关系啊
      

  2.   

    你看看你UUID生成代码里面做了什么了?调试一下
      

  3.   

    连续插入10条数据很快,但是在工程中就是到save这句就停了,在save之前打印,之后打印,插入3条都没问题,到了第四条就打印出save之前的,之后的要等好长时间
      

  4.   

    你看一下save时,在哪一句慢?还有观察一下数据库的情况!
      

  5.   

    如果排除第四条数据本身的问题,那么可能是你的dao线程不安全,批量操作时造成了死锁,你在save后面session.flush一下,运行到最后再commit试试
      

  6.   

    transaction???尝试下???
    我是不懂的
      

  7.   

    我debug了下,好像http的线程变多了,我是服务器之间传送文件,传送用的多线程,是不是在请求下载后,什么地方没关引起的?第四条过了后,就是第7条慢,中间的很快
      

  8.   

    Transaction t = session.beginTransaction();
    这句卡住的,为什么呢
      

  9.   

    save每次结束时commit应该就没问题了。
      

  10.   

    看看你的事务的隔离等级是否设得合适:TRANSACTION_READ_UNCOMMITTED 
    TRANSACTION_READ_COMMITTED 
    TRANSACTION_REPEATABLE_READ 
    TRANSACTION_SERIALIZABLE 隔离等级越高就越慢。