Hibernate通过持久化对象(PO)这个媒介来对数据库进行操作,底层数据库对于应用程序来说是透明的。
Hibernate将应用程序从原始的JDBC访问中释放出来,应用程序无需关心JDBC操作、底层数据库连接、数据库访问实现、事务控制,而是直接以面向对象方式进行持久层的操作。
Hibernate简要体系结构:
其中hibernate.properties和XML Mapping都是配置文件,配置对象模型(Persistent Objects)和 关系模型(Database)的映射关系。
Hibernate核心API
Configuration类配置Hibernate,根启动Hibernate。Hibernate应用通过Configuration实例来指定对象-关系映射文件的位置或者动态配置Hibernate的属性,然后创建SesssionFaction的实例对象。
SessionFactory接口
初始化Hibernate,充当数据存储源的代理,创建Session对象,一个SessionFactory对应一个数据存储源(DB)。Session接口
负责保存、更新、删除、加载和查询对象,它是Hibernate应用使用最广泛的接口,也被称为持久化管理器。Transaction接口
管理事务,是Hibernate的数据库事务接口,它对底层的事务接口做了封装,底层事务接口包括:JDBC、JTA和CORBA事务的API。Query和Cirteria接口
- 执行数据库查询,这两个接口是Hibernate查询接口,用于向数据库查询对象,以及控制执行查询的过程。
- Query包装了一个HQL(Hibernate Query Language)查询语句,HQL查询语句和SQL语句是相似的,但是HQL查询语句是面向对象的,它引用类名及类的属性名,而不是表名及表的字段名。
- Cirteria接口完全封装了基于字符串形式的查询语句,比Query接口更加面向对象,Cirteria更擅长于执行动态查询。