Hibernate开发步骤
Hibernate是一种体现ORM思想的框架,那么它的开发步骤也就显而易见了。用一句简单的话概括就是建类、映射、导出表开发。
在开发过程中,我们一定要非常清楚Hibernate的几大核心对象。
认识Hibernate的基本组件
Hibernate五大核心接口
在Hibernate模块也就是持久化层,Hibernate的核心接口一共有5个,分别为:
这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行实物控制。
Session接口
Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的 SQL语句。)。但需要注意的是Session对象是非线程安全的。Session也称为持久化管理器,因为它是与持久化有关的操作接口。Session通过SessionFactory打开,在所有的工作完成后,需要关闭。
调用代码:Session session= sessionFactory.openSession();
SessionFactory接口
SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建 Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个 SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
调用代码:SessionFactorysessionFactory = cfg.buildSessionFactory();
说明:SessionFactory由Configuration对象创建,所以每个Hibernate配置文件,实际上是对SessionFactory的配置。
Configuration接口
Configuration接口负责配置并启动Hibernate,创建SessionFactory对 象。它在多个应用线程间进行共享。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对 象。 它包括如下内容:
Hibernate运行的底层信息:数据库的URL、用户名、密码、JDBC驱动类,数据库Dialect,数据库连接池等。
Hibernate映射文件(*.hbm.xml)。
Hibernate配置的两种方法:
属性文件(hibernate.properties)。
调用代码:Configurationcfg = new Configuration();
Xml文件(hibernate.cfg.xml)。
调用代码:Configurationcfg = new Configuration().configure();
Transaction接口
Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。 它将应用代码从底层的事务实现中抽象出来——这可能是一个JDBC事务,一个JTA用户事务或者甚至是一个公共对象请求代理结构(CORBA)——允许应用通过一组一致的API控制事务边界。这有助于保持Hibernate应用在不同类型的执行环境或容器中的可移植性。
调用代码:
Transaction tx =session.beginTransaction();
使用Hibernate进行操作时必须显式的调用Transaction(默认:autoCommit=false)。
Query和Criteria接口
Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。
调用代码:
Query query =session.createQuery(“from User”);
了解核心对象帮助我们更加的了解Hibernate,这些核心接口在以后的开发中都会用到,通过这些接口,不仅可以对持久化对象进行存取,还能够进行实物控制。