Configuration类:
configuration类的作用是对Hibernate进行配置,以及对它进行启动。
Configuration可以完成以下几方面的工作:
(1)加载配置文件。在Hibernate的启动过程中,Configuration类的实例首先定位映射文档的位置,读取这些 配置,然后创建一个SessionFactory对象,
(2)动态添加映射文件。还可以利用Configuration类在程序中添加XML映射定义文件。
(3)也可以通过Configuration指定配置属性:
SessionFactory类:
这里用到了一个设计模式――工厂模式,用户程序从工厂类SessionFactory中取得Session的实例。
SessionFactory不是轻量级的。它的设计者的意图是让它能在整个应用中共享。
一个项目只需要一个SessionFactory就够了,但是当项目要操作多个数据库时,必须为每个数据库指定一个SessionFactory
SessionFactory在Hibernate中实际起到了一个缓冲区的作用,它缓冲了Hibernate自动生成的SQL语句和一些其它的映射数据,还缓冲了一些将来有可能重复利用的数据。
Session类:
Session类对于Hibernate开发人员来说是一个最重要的类。Session是持久层操作的基础,相当于JDBC中的Connection.
然而在Hibernate中,实例化的Session是一个轻量级的类,创建和销毁它都不会占用很多资源。这在实际项目中确实很重要,因为在客户程序中,可能会不断地创建以及销毁Session对象,如果Session的开销太大,会给系统带来不良影响。
HQL 查询可按如下步骤进行:
(1)获取HibernateSession对象;
(2)编写HQL语句;
(3)以HQL语句作为参数,调用Session的createQuery方法创建查询对象;
(4)如果HQL语句包含参数,调用Query的setXxx方法为参数赋值;
(5)调用Query对象的list等方法遍历查询结果。