初识Hibermate

来源:互联网 发布:淘宝软文是啥 编辑:程序博客网 时间:2024/05/29 19:34

Hibernate API中的接口可以分为以下几类

1 提供访问数据库的操作的接口,包括sessionTransactionQuery接口;

2 用于配置Hibernate的接口,Configuration

3 间接接口,使应用程序接受Hibernate内部发生的事件,并作出相关的回应,包括:InterceptorLifecycleValidatable

4 用于扩展Hibernate功能的接口,如UserTypeCompositeUserTypeIdentifierGenerator接口。

Hibernate内部还封装了JDBCJTAJava Transaction API)和JNDIJava Naming And Directory Interface)。其中,JDBC提供底层的数据访问操作,只要用户提供了相应的JDBC驱动程序,Hibernate可以访问任何一个数据库系统。JTAJNDI使Hibernate能够和J2EE应用服务器集成。

 

Hibernate的优缺点

(1)优点:
    a.Hibernate 使用 Java 反射机制 而不是字节码增强程序来实现透明性。
    b.Hibernate 的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。
    c. 它支持各种关系数据库,从一对一到多对多的各种复杂关系。

(2)缺点:

    Hibernate限制您所使用的对象模型。例如,一个持久性类不能映射到多个表。

 

持久化层

(1)什么叫持久化?

 

在图1右中,分离出的持久化层封装了数据访问细节,为业务逻辑层提供了面向对象的API。

持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。

 

(2)什么叫持久层?

持久层(Persistence Layer),即专注于实现数据持久化应用领域的某个特定系统的一个逻辑层面,将数据使用者和数据实体相关联。

 

(3)为什么要持久化?增加持久层的作用是什么?

数据库的读写是一个很耗费时间和资源的操作,当大量用户同时直接访问数据库的时候,效率将非常低,如果将数据持久化就不需要每次从数据库读取数据,直接在内存中对数据进行操作,这样就节约了数据库资源,而且加快了系统的反映速度。

增加持久化层提高了开发的效率,使软件的体系结构更加清晰,在代码编写和系统维护方面变得更容易。特别是在大型的应用里边,会更有利。同时,持久化层作为单独的一层,人们可以为这一层独立的开发一个软件包,让其实现将各种应用数据的持久化,并为上层提供服务。从而使得各个企业里做应用开发的开发人员,不必再来做数据持久化的底层实现工作,而是可以直接调用持久化层提供的API。

 

(4)目前在持久化层领域,实现模式有以下几种:

A 业务逻辑和数据访问耦合

B 主动域对象模式

C ORM模式(Object Relational Mapping),即对象关系映射,hibernate就是这种实现。

D JDO模式

E CMP模式

 

原创粉丝点击