<b>理解Hibernate的FlushMode.NEVER</b>[Java编程]
本文“<b>理解Hibernate的FlushMode.NEVER</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1、案件后台:
图片来自于片子《天生杀人狂》
Hibernate并没有为巨型数据调集供应杰出的帮忙,这大概是开辟者认为这样没有太大必要,反而增添Hibernate框架复杂性的来由吧.于是“极大数据量==批量处理”、“Hibernate/java不是批处理的最佳场所”的见解在Hibernate开辟中大行其道,有些开辟者乃至直接操纵Hibernate成立session,获得其connection进而举行jdbc操作.Jdbc并非古玩,但在Hibernate中再次call它,不免有些令人无奈.近来在Hibernate的官方坛子上看到Gavin写给初级用户的“understand FlushMode.NEVER”,并参考了一下Stripes项目(本人经常关注的时髦项目)作者Tim的blog.在阅读两位大家言论后,和大家share一下.
2、性能杀手安在?
图片来自于片子《这个杀手不太冷》
Tim在其Blog写道:“我目前的DNA重组系统,具有复杂而海量的OLTP数据,对付这些在内存的复杂对象(数千个)的方法是依靠用户接口(非批量处理)来实现用例驱动.”这句半开玩笑的话,是我想起了那男耕女织的生产力低下的生活,真的让每个开辟者都利用算盘运算吗?
session.setFlushMode(FlushMode.NEVER);
这条语句及其简单,但办理了大问题.它奉告Hibernate session无论什么时刻也不要flush任何的状况改变到数据库,除非开辟者直接调用session.flush().听上去很合乎逻辑,但它为安在一些场景中对性能影响甚深,而在其他的场景中却好似轻如鹅毛般?
以上是“<b>理解Hibernate的FlushMode.NEVER</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |