hibernate---核心开发接口介绍(重点)

1:AnnoationConfiguration类:

可以指定hibernate.hbm.xml为另外的文件名hibernate.xml,如图:

2:SessionFactory类:产生session的工厂,它里面维护的最重要的东西就是数据库连接池。

你如果调用的是getSession(),无论调用多少次,拿到的永远是用一个sessioon。如图运行结果为true

3:hibernate3.2之后就不建议使用这种方法(opensession)了。

即:当你创建一个session的时候还可以用openSession()这个方式来创建,注意opensession永远是创建一个新的session,不会从当前上下文拿哪个session。

注意:用该方法要用close(),但是用getCurrent。。。时不需要close,这两个方式之间是有重要的区别的:

 opensession永远是创建一个新的session,getCurrentSession是当前环境里已经有的session它就会拿那个session,如果没有,则打开新的。

下图为true:说明如果调用getCurrentSession,无论调用多少次,拿到的永远是同一个session

看下图:

原因?因为session已经提交了,第一个session已经关闭了,第一个session对象已经消失了,当前上下文中就没有新的session了。

有什么用?为什么不直接opensession?

假如你要做一个用户管理模块,就会用到,比如,你添加一个用户,然后还想在日志中记录什么时候添加的该用户,此时就可以用。如图:

 

posted @ 2013-04-09 21:34  歌颂者  阅读(294)  评论(0编辑  收藏  举报