hibernate第三天:O/R MAPPING常见框架
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开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。