hibernate第三天:O/R MAPPING常见框架

本文介绍了常见的ORM框架,如Hibernate、iBATIS、TopLink、CastorJDO、ApacheOJB等,详细阐述了它们在Java中实现对象关系映射的原理及特性。对比了Hibernate与iBATIS的区别,探讨了不同框架在SQL生成与数据库操作方面的处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

O/R MAPPING常见框架
常见的ORM框架有:Hibernate、iBATIS、TopLink、Castor JDO、Apache OJB等。

Java中ORM的原理: 其实,要实现JavaBean的属性到数据库表的字段的映射,任何ORM框架不外乎是读某个配置文件把JavaBean的属 性和数据库表的字段自动关联起来,
当从数据库Query时,自动把字段的值塞进JavaBean的对应属性里,
当做INSERT或UPDATE时,自动把 JavaBean的属性值绑定到SQL语句中。

- 1.hibernate
- 2.iBATIS
- 3.toplink
TopLink,是位居第一的Java对象关系可持续性体系结构,
原署WebGain公司的产品,后被Oracle收购,并重新包装为Oracle AS TopLink。 TOPLink为在关系数据库表中存储
Java 对象和企业 Java 组件 (EJB) 提供高度灵活和高效的机制。 TopLink
为开发人员提供极佳的性能和选择,可以与任何数据库、任何应用服务器、任何开发工具集和过程以及任何 J2EE 体系结构协同工作。
对象关系映射持久层解决方案

- 4.jdo
JDO(Java Data Object )是Java对象持久化的新的规范,也是一个用于存取某种数据仓库中的对象的标准化API。
JDO最早是由Sun召集众多的O/R Mapping开发团队集中起来共同提出的,首先是通过会议确定了JDO需要包括的内容,
然后正式提出一个Java规范请求(JSR-12),正式开始了JDO规范的制定。

- 5.OJB。
Apache ObJectRelationalBridge (OJB) is an Object/Relational mapping
tool that allows transparent persistence for Java Objects against
relational databases. It was released on April 6, 2005.[1] As of
January 16, 2011 Apache ObJectRelationalBridge has been retired.[2]


补充:O/R Mapping框架:Ibatis与Hibernate之间的区别
hibernate 是当前最流行的o/r mapping框架,它出身于sf.net,现在已经成为jboss的一部分了。
ibatis 是另外一种优秀的o/r mapping框架,目前属于apache的一个子项目了。
相对hibernate“o/r”而言,ibatis是一种“sql mapping”的orm实现。
hibernate对数据库结构提供了较为完整的封装,hibernate的o/r mapping实现了pojo 和数据库表之间的映射,以及sql 的自动生成和执行。
程序员往往只需定义好了pojo 到数据库表的映射关系,即可通过hibernate 提供的方法完成持久层操作。
程序员甚至不需要对sql 的熟练掌握, hibernate/ojb 会根据制定的存储逻辑,自动生成对应的sql 并调用jdbc 接口加以执行。
而ibatis 的着力点,则在于pojo 与sql之间的映射关系。
也就是说,ibatis并不会为程序员在运行期自动生成sql 执行。
具体的sql 需要程序员编写,然后通过映射配置文件,将sql所需的参数,以及返回的结果字段映射到指定pojo。
而对于具体的数据操作,hibernate会自动生成sql 语句,
而ibatis 则要求开发者编写具体的sql 语句。
相对hibernate而言,ibatis 以sql开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值