本文主要是介绍Hibernate的flush效率问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
程序中使用了声明式事务管理,所有service中以add打头的配置是PROPAGATION_NOT_SUPPORTED,每个请求过来产生100个更新,当service处理完毕后,hibernate会把数据刷新到数据库,这个刷新的过程非常消耗时间。偶然间把事务的传播属性改成了PROPAGATION_REQUIRED,刷新到数据库的速度反而快了。暂时不知道为什么。。。
APPARENT DEADLOCK!!! 这个错误总是伴随着lock tables的发生,调整了mysql的connection数量,还有c3p0中的连接数量,都不好使,后来参考了http://blog.sina.com.cn/s/blog_5491164b0100sxtc.html中的做法,把hibernate.c3p0.max_statements 设置为0,问题暂时得到解决了。
调查的过程中发现,c3p0有未曾解决的bug。
这篇关于Hibernate的flush效率问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!