分享

ORM 与 Hibernate (转)

 zww_blog 2014-10-08
1.orm(object relation model)
 目前,面向对象凭借其绝对的优势已经成为计算机语言发展的趋势,然而数据库系统仍然保留着关系型,这就给编码带来了很多的不便。于是变产生了大量的对象-关系框架,目的就是在对象与关系型数据库之间建立一个桥梁,hibernate便是目前非常流行的ORM框架之一。其关键思路就是在数据库与类之间建立一种映射关系,用类中的属性对应于表中的列,类对应于表,这样在操作对象的时候,最深层的实际还是操作数据库中的表。
2.hibernate的三种文件
(1)映射类(java源文件)
   这类文件实际就是普通的Java文件,包含一些基本的属性以及属性对应的get、set方法。
(2)映射文件(.cfg)
   提供Java文件和表的对应关系,包含Java文件的名称,对应的表明,存放位置以及数据库中的各个字段在Java语言中的数据类型等。同时还包含了表之间的多种映射关系。
(3)数据库配置文件(configuration文件)
这个文件主要的用途是建立Java类与数据库之间的链接,包含要链接哪一个数据库,用户名以及密码等等
3.hibernate中几种配置文件的解析(来自于http://book.51cto.com/art/201006/205180.htm)
通常配置文件的形式都是XML或者properties格式的,对于XML文件的解析,几乎各种语言都有专门的类,JDK包含以下工具类DocumentBuilderFactory、DocumentBuilder、Document、Element。properties文件的格式为名称=值,该类文件的解析也包含了一些常用的方法,如load()加载指定文件并读取文件中的属性信       息,PropertyNames()返回所有属性名,getProperty()返回指定属性名的属性值等。而Java文件中包含了get和set方法,可以很方便的操作属性的值。
4.常见的ORM框架
(1)Hibernate

Hibernate 是一个开放源代码的O/R Mapping (对象关系映射框架),它对JDBC 进行了轻量级的对象封装,使Java 程序员可以随心所欲地使用对象编程思维来操纵数据库。其官方网址:http://www.

(2)iBATIS

iBATIS也是开放源代码的O/R Mapping,但这是一种"半自动化"的ORM实现。所谓"半自动",iBATIS以SQL开发的工作量和数据库移植性方面的让步,为系统设计提供了更大的自由空间。其官方网址:http://ibatis./

(3)TopLink

TopLink是Java对象关系可持续性体系结构,原属于WebGain公司的产品,现在被Oracle收购,并重新包装为Oracle AS TopLink。TopLink为在关系数据库表中存储Java对象和企业Java组件(EJB)提供了高度灵活和高效的机制。TopLink提供了一个 持久性基础架构,使开发人员能够将来自多种体系结构的数据(包括EJB、CMP和BMP)、POJO、servlet、JSP、会话Bean和消息驱动 (Bean)集成在一起。

(4)Entity Bean

Entity Bean它提供了一个持久性数据的面向对象的表示。不同于对象关系映射,Entity Bean 对于关系数据库没有限制;它描述的持久性信息可以来自一个企业信息系统(EIS)或者其他的存储设备。

(5)Castor JDO

Castor JDO 是ExoLab Group下面的一个开放源代码的项目,它最大的特色就是实现了大部分的ODMG OQL规范,其原理是通过Java反射API去实现属性的设置和读取。它的主要API 和数据接口为:JDO-like、SQL、OQL、JDBC、LDAP、XML、DSML。它支持分布式目录事务处理和时间;提供处理XML、 Directory、XADirectory的类库,提供从XML到Java类的转换机制。其官方网址:http://castor.

(6)OJB

Apache OJB(Object Relational Bridge)是Apache下面的一个开放源代码的项目。Apache OJB是一种对象关系映射工具,能够完成从Java对象到关系数据库的透明存储。OJB使用基于XML的对象关系映射,映射发生在一个动态的元数据层,使 得通过一个简单的元对象协议(MOP)在运行时就可以操作元数据层去改变存储内核。其官方网址:http://db./ojb/

(7)Torque

Apache Torque是一个使用关系数据库作为存储手段的Java应用程序持久化工具。Torque是Apache下面的一个开源项目,由Web应用程序框架Jakarta Apache Turbine发展而来,但现在已完全独立于Turbine。



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多