关于hibernate的一些事
关于hibernate的一些事 (此博文为 http://my.oschina.net/u/555061/blog/506216 后续 ) 1.简单说一下SessionFactory、Session 源自: http://blog.csdn.net/javaloveiphone/article/details/8155340 1.1、Hibernate中SessionFactory对象的创建代价很高,它是线程安全的对象,被设计成可以为所有的应用程序线程所共享。通常,SessionFactory会在应用程序启动时创建, 一旦创建了SessionFactory将不会轻易关闭,只有当应用关闭时,SessionFactory才会关闭 。 1.2、而Session的对象是轻量级的,它是线程不安全的。对于单个业务进程单个工作单元而言,Session只被使用一次。 创建Session时,并不会立即打开与数据库之间的连接,Session只在需要进行数据库操作时,才会获取JDBC连接 。因此,打开和关闭Session,并不会对性能造成很大的影响。甚至即使无法确定一个请求是否需要数据访问,也可以打开Session对象,因为如果不进行数据库访问,Session不会获取JDBC连接。 使用Spring管理hibernate的事务,在每个dao操作中使用SessionFactory