Hibernate 核心 API 需了解以下知识点(1、持久实例的生命周期状态;2、Session 接口;3、Transaction 接口;4、SessionFactory 接口;5、Configuration 接口;6,、应用中所需的 JAR 类库) 1、 Hibernate 中的持久化生命周期 (1) 提供对象状态管理的目的 使开发者不再需要理会底层数据库系统的细节 使用 Hibernate 的开发者应该总是关注对象的状态(State),不必考虑 SQL 语句执行 (2) Hibernate 仅仅定义了三种状态:瞬时、持久和脱管,对客户端代码隐藏了其内部实现的复杂性 (3) 三种状态相互转换的说明 2、 核心API 介绍—Session 接口 (1) 它是轻量级的类 轻量级的类 在 Hibernate 中,实例化的 Session 是一个轻量级的类,创建和销毁它都不会占用很多资源 这在实际项目中确实很重要,因为在客户程序中,可能会不断地创建以及销毁Session 对象,如果 Session 的开销太大,会给系统带来不良影响! 但它是非线程安全的 值得注意的是 Session 对象是非线程安全的,因此最好是一个线程只创建一个Session 对象(将它设计为局部对象) Public static final ThreadLocal threadLocal = new Threadlocal(); Public static Session curentSession(){ Session curentSession = (Session)threadLocal.get(); If(currentSssion == null){ currentSession = sessionFactory.openSession(); threadLocal.set(currentSession); } Return currentSession; } (2) Session 看作介于数据连接与事务管理一种中间接口 它是一种中间接口 我们可以将Session 想象成义个持久对象的缓冲区,Hibernate 能检测到这些持久对象的改变,并及时刷新数据库。 每一个Session 实例和一个数据库事务绑定 通过将每一个Session 实例和一个数据库事务绑定,也就是说,每执行一个数据库事务(操作),都应该先创建一个新的Session 实例。 如果事务执行中出现异常,应该撤销事务;同时不论事务执行成功否,最后都应该调用Session 的close)——方法,从而释放 Session 实例占用的资源。 (3) 如何获得 Session 对象 首先创建SessionFactory 对象 应用程序如果访问多个数据源时,则应该产生多个SessionFactory; 但是仅仅为了服务于某个请求时,不要创建一个新的SessionFactory,因为创建SessionFactory 需要消耗大量的资源。 然后根据SessionFactory 再创建Session...