如何解决Hibernate的多线程问题?

我有一个页面,要实现一个功能,触发这个功能会同时执行两个java函数从而触发两个Hibernate操作,执行该功能后,系统时不时地会发出这一个Exception:

org.hibernate.TransactionException: Transaction not successfully started

我个人觉得是因为session被前一个Hibernate操作给关了,导致后一个操作的transaction就没法执行。
百度之后,试过这么一个方法,但是好像没有用:

        <property name="hibernateProperties">  
            <props>
                <prop key="hibernate.autoReconnect">true</prop>
            </props>
        </property>

所以,来请高人可以指点指点。

阅读 5.3k
1 个回答

具体看你代码是啥,
你的触发究竟是多线程的还是只是在同一个线程里面,执行了两个不同的方法而已
比如,service.method1,service.method2,事务的切面在service层,那这两个方法事务就是独立的,

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进