客户端SessionFactory和Session
在Hibernate框架中,SessionFactory是相当重要的。它是由Hibernate框架提供,用来存储指定的经过解析的映射文件。SessionFactory类文件被存放在net.sf.hibernate下,是一个抽象类。
SessionFactory的产生是通过net.sf.hibernate.cfg.Configuration类来完成的。 Configuration类将底层信息(数据库连接的URL、数据库用户名密码、数据库JDBC驱动类、数据库“方言”的取得)交会给Hibernate来管理,然后通过buildSessionFactory方法创建一个SessionFactory实例。 这样,SessionFactory实例就可以得到映射文件的所有信息,可以预备实现运行时反射。
SessionFactory实例调用openSession方法来初始化数据库连接,并得到net.sf.hibernate.Session类的实例。 net.sf.hibernate.Session类的各个方法可以被用来持久化数据。这些方法在运行时会产生SQL语句来与数据库交互,这些SQL完全不需要由程序设计者来编码,都由Hibernate框架来产生。
net.sf.hibernate.Session类有以下常用的持久化方法:
- save方法:类似SQL insert语句的功能
- load方法:类似SQL select查询得到一条主键的记录
- find方法:类似SQL select查询返回一组满足条件的记录
- update方法:类似SQL update语句的功能
- delete方法:类似SQL delete语句的功能