robbin:开源的太晚了,不要说Hibernate早就成为事实标准了,连JPA标准都出台了。当然能促进一下竞争的。自从Red Hat收购JBoss,Oracle明显和Red Hat对着干呢。
ahuaxuan:Toplink是被迫才开源的,要不实在混不下去了,呵呵,假如他早些开源,现在的orm界或者整个持久界的局面可能就不是现在这样的了
Allen:对于我来说,这意味着将来使用JPA的时候又多了一个非常精良的Provider,不错!
hantsy:要知道,JPA的标准实现是 TopLink,比Hibernate实现JPA早了半年。。。 toplink始于1994年,后来被oracle收购,比hibernate 有资历得多。。。
Arthas.Hui:当初通过Sun2Bin了解到,有TopLink这个东东,Java社区的标准实际上是取决于其用户的多少,东西再好,资历再多,没人用也是白搭。我感觉,从时间成本上来说,TopLink不值得一试,和Hibernate同样的功能,和Hibernate差不多的学习曲线,TopLink我也是大体地看了几眼,我觉得,要精通TopLink并不是一件很简单的事情吧。与其这样,不如就拿Hibernate当压寨夫人好了。TopLink是一个非常早期的产品,最初面向C++,后来也实现了Java的映射。TopLink性能优异,功能强大,并且提供了独特的查询过滤器机制,以及对关系的处理和查询都非常有效,于是,TopLink逐渐从商用化O/R Mapping产品中胜出,成为市场上的最出色的映射产品。也正因为这一点,最大的关系数据库厂商Oracle将其收购,成为提供最强数据库和最强对象映射中间件的厂商。
TopLink虽然强大,但太强大的东西免不了自得忘形,TopLink开始将用户锁死到自己的产品上,查询方式是最突出的。它的查询体系含有很多别扭的概念(在我看来是如此),但为达到一般O/R产品不能达到的功能,开发者只能接受这些。慢慢地,也产生积怨,再加上其高昂的价格,让很多新老用户望而却步。于是,免费的产品开始崛起。
免费的O/R Mapping工具有很多种,这里只提其中最有影响力的两种:Castor和Hibernate。
Castor是Exolab组织开发的面向Java的包装工具,它最大的特色就是实现了大部分的ODMG OQL规范,在查询上,可以象完全使用一个对象数据库一样类图进行查询(后面会有介绍)。它的原理是通过Java反射API去实现属性的设置和读取。不过由于各种原因,Castor后来的版本更新越来越慢,最终停步在1.0之前,成为至今未出到1.0正式版的O/R Mapping产品。不管怎么样,它还是一个相当不错的产品。
Hibernate是一个现在很火热的O/R Mapping产品,目前已经出到2.0版,它功能一样强大,同样使用Java反射API进行对象的设置,但它的查询语言就是一套比较独特的体系,这一点有点类似TopLink,但Hibernate更具有亲和力,对关系的查询更方便,只不过比起Castor来,在方便性和规范性上还是稍逊一筹。就目前状况而言,Hibernate的用户量和技术支持要强一些。