Hibernate原生API简单分析
在向大家详细介绍Hibernate原生API之前,首先让大家了解下TopLink,然后全面介绍Hibernate原生API。
TopLink是一个老牌的 O/R Mapping软件了,自从被Oracle收购之后,又增加了对Oracle数据库的良好支持,和对Oracle AS EntityBean的支持。Oracle提供了TopLink的图形设计环境,可以使得设计好的TopLink域模型既可以被单独用在TopLink 中,也可以被用在EJB CMP中。因此看来TopLink也走了一条和Hibernate同样策略的路。
TopLink的问题在于相比Hibernate的开源和免费的优势来说,TopLink既不开源,售价又不菲上。本来商业软件TopLink应该在技术支持和商业宣传策略上拥有足够的优势,然而Oracle公司毕竟是一个以数据库为核心产品的公司,其他的一切产品都是为了数据库销售业绩而服务的。在Oracle产品线中处于一个从属地位的TopLink,由于先天不足,只能眼睁睁看着Hibernate的日益壮大而无所作为,因此 TopLink更多的被局限在购买了Oracle数据库,并且绑定Oracle数据库的用户群体中。
J2EE1.5的新持久层规范将毫无悬念的成为未来持久层框架的主流API,无论是Hibernate,JDO,还是TopLink终将兼容这个主流商业API.在当前的这三种持久层API当中,Hibernate无疑是最有前途的。这是因为:
1、新的持久层规范将基于EJB3.0 EntityBean规范,这意味着仍将以Hibernate的设计理念为基础。
2、JBoss对EJB3.0规范跟随的步伐非常紧密,在规范制定过程中就不断的发布参考实现产品,因此可以对对EJB3.0规范产生比较大的影响力。
综上所述,我们有理由对Hibernate的前途抱有强烈的信心。
最后的一个疑问是,既然J2EE1.5的新持久层框架可以脱离J2EE容器运行,那么大家不全部都去用Hibernate的后一套兼容API,而完全放弃Hibernate原生API了吗?那么是否意味着Hibernate做为一个独立产品的使命彻底终结呢?