课程咨询 :15265420612 QQ:2720475033

  • Hibernate批量操作概括

    发布:潍坊java培训      来源:潍坊java培训      时间:2016-08-31

  • Hibernate还是比较常用的,于是我研究了一下Hibernate批量操作,在这里拿出来和大家分享一下,希望对大家有用。

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

    Hibernate批量操作

    即使是使用JDBC,在进行大批数据更新时,BATCH与不使用BATCH有效率上也有很大的差别。我们可以通过设置batch_size来让其支持批量操作。

    举个例子,要批量删除某表中的对象,如“delete Account”,打出来的语句,会发现Hibernate找出了所有ACCOUNT的ID,再进行删除,这主要是为了维护二级缓存,这样效率肯定高不了,在后续的版本中增加了bulk delete/update,但这也无法解决缓存的维护问题。也就是说,由于有了二级缓存的维护问题,Hibernate批量操作效率并不尽如人意!

    从前面许多要点可以看出,很多时候我们是在效率与安全/准确性上找一个平衡点,无论如何,优化都不是一个纯技术的问题,你应该对你的应用和业务特征有足够的了解,一般的,优化方案应在架构设计期就基本确定,否则可能导致没必要的返工,致使项目延期,而作为架构师和项目经理,还要面对开发人员可能的抱怨,必竟,我们对用户需求更改的控制力不大,但技术/架构风险是应该在初期意识到并制定好相关的对策。

    还有一点要注意,应用层的缓存只是锦上添花,永远不要把它当救命稻草,应用的根基(数据库设计,算法,高效的操作语句,恰当API的选择等)才是最重要的。

上一篇:JAVA防盗链图片的filter源代码

下一篇:Hibernate update全面讲解

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:6月30日

Java--大数据周末班

Java--大数据周末班

开班日期:6月30日

Java--大数据全日制班

Java--大数据全日制班

开班日期:6月30日

Java--零基础周末班

Java--零基础周末班

开班日期:6月30日

 扫一扫,关注一下! 潍坊:奎文区东风东街299号建行大厦 济宁:市中区太白路10号苏宁生活广场
烟台:海港路25号阳光100城市广场 临沂:兰山区红旗路1号苏宁易购
淄博:张店区金晶大道68号华润大厦 济南:历下区趵突泉北路三联商社
济南:历下区山大路47号数码港大厦 青岛:市南区金坛路17号
课程培训电话:15265420612 QQ:2720475033 全国服务监督电话:400-111-8989    服务邮箱 tousu@tedu.cn

2001-2017 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56