潍坊Java培训
达内潍坊中心

15265420612

热门课程

Hibernate批量操作概括

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

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培训:怎么学习编程?

给迷茫开发者的 18 条建议

java和java开发工程师现状

为什么你只是一个小码农?

选择城市和中心
贵州省

广西省

海南省