Hibernate性能优化1( 转)
有很多人认为Hibernate天生效率比较低,确实,在普遍情况下,需要将执行转换为SQL语句的 Hibernate的效率低于直接JDBC存取,然而,在经过比较好的性能优化之后,Hibernate的性能还是让人相当满意的,特别是应用二级缓存之 后,甚至可以获得比较不使用缓存的JDBC更好的性能,下面介绍一些通常的Hibernate的优化策略: 1.抓取 优化 抓取是指Hibernate如何在关联关系之间进行导航的时候,Hibernate如何获取关联对象的策略,其主要定义了两个方面:如何抓取和何时抓取 1)如何抓取。 Hibernate3主要有两种种抓取方式,分别应用于对象关联实例(many-to-one、one-to-one)和对象关联集合(set、map等),总共是四种变种 JOIN抓取: 通过在SELECT语句中使用OUTER JOIN来获得对象的关联实例或者关联集合) SELECT抓取: 另外发送一条SELECT语句来抓取当前对象的关联实体和集合 在我的开发经历中,此处对性能的优化是比较有限的,并不值得过多关注 例: A.应用于对象关联实例(默认是false) <many-to-one name=".." outer-join="true/false/auto" .../> B.应用于对象关联集合(默认是auto) <set name=".." fetch="join