如果从最早的版本开始Hibernate里面只有三个核心的处理类:Configuration,SessionFactory,Session.
1.取得文件配置信息org.hibernate.cfg.Configuration
所有的数据库的连接信息包括映射信息都保存在hibernate.cfg.xml文件里面,而整个Hbiernate如果想执行这些程序,那么自然需要读取此文件,所以Configuration类的主要功能就是将所有的配置信息读取,也就是说如果想要打开数据库连接,也需要Configuration,这个类定义有如下方法:
●构造方法
public Configuration()
●读取默认资源(hibernate.cfg.xml):
public Configuration configure() throws HibernateException
●读取默认资源:
public Configuration configure(String resource) throws HibernateException
在Configuration类里面最为重要的一个方法:
●[废弃]创建SessionFactroy
public SessionFactory buildSessionFactory() throws HibernateException●创建SessionFactroy
public SessionFactory buildSessionFactory(ServiceRegistry serviceRegistry) throws HibernateException
从Hibernate4.x开始出现了一个新的类:org.hibernate.service.ServiceRegistry,这个类主要功能是进行服务的一个操作,此类的操作可以忽略掉.
2.数据库的连接管理都由SessionFactory负责管理,而在SessionFactory里面以后需要控制缓存的操作,SessionFatroy可以打开新的数据库操作--Session,方法:
●打开Session
Session openSession() throws HibernateException
3.数据库连接操作对象:org.hibernate.Session;
●此类负责所有的数据处理操作以及事务控制,
●在此类里面定义有如下操作方法
保存数据返回主键:
Serializable save(Object object)
修改数据,没有返回结果:
void update(Object object)
删除数据:问题:没有返回结果
void delete(Object object)根据ID读取:
<T> T load(Class<T> theClass, Serializable id)根据ID读取:
<T> T get(Class<T> entityType, Serializable id)
创建Criteria查询
@Deprecated Criteria createCriteria(Class persistentClass)创建Query查询
Query createQuery(String queryString)
创建并启用一个事务
Transaction beginTransaction()
创建一个事务但没有启用
Transaction getTransaction()
4.事务处理接口:org.hibernate.Transaction
所有的Hibernate操作默认都不是自动提交的,因为自动提交本身就是一个错误,所以Transaction主要负责事务控制.
有如下几个控制的操作方法:
●事务提交,更新执行:
void commit()
●事务回滚:
void begin()
void begin()这些类都是在Hibernate开发之中的重点功能类,所以必须要清楚其每一个类的作用,如果可以将核心的方法记住,因为在整个Hibernate里面关注的都是这几个类.