hibernate学习(1)——核心接口

  hibernate的核心接口主要涉及到Configuration,SessionFactory,Session三个类。

  Configuration对应于配置文件。SessionFactory可以简单的理解为数据库连接池,是Session对象的工厂类。Session可以简单理解为一个数据库的链接,通过Session对象对数据库进行CRUD的操作。下面主要分析从SessionFactory获取Session的两个方法:openSession()和getCurrentSession()的不同之处。

  openSeesion():每次调用一定会新建一个Session对象。用完之后也必须调用Session类的close()方法将其关闭。

  getCurrentSession():每次调用首先从上下文中查看是否有Session对象,有的话就取得当前的,没有才新建对象。使用这种方式必须在配置文件里配置当前Session的上下文:Current-Session_context_class.取值常用的有thread和jta。当执行了transaction.commit()方法后在调用getCurrentSession()取得的也是新的对象。当事务边界要移到业务层(一个业务逻辑要调用两个不同的dao对象时)需要使用到getCurrentSession()的方法。

posted @ 2010-02-09 14:06  咖啡不苦  阅读(301)  评论(1编辑  收藏  举报