TopLink 11g versus EclipseLink

BestPractices picture BestPractices · Jul 8, 2010 · Viewed 7k times · Source

We're considering migrating to TopLink 11g JPA from Oracle Kodo JDO. But I see that EclipseLink exists and appears to be, perhaps, better thank Toplink. The wiki article on it currently states

EclipseLink is based on the TopLink product, which Oracle contributed the source code from to create the EclipseLink project. The original contribution was from TopLink's 11g code base, and the entire code-base/feature set was contributed, with only EJB 2 CMP and some minor Oracle AS specific integration removed. This differs from the TopLink Essentials Glassfish contribution, which did not include some key enterprise features… EclipseLink is the intended path forward for persistence for Oracle and TopLink. It is intended that the next major release of Oracle TopLink will include EclipseLink as well as the next major release of Oracle AS.

Looking for which you would choose to use had you the option -- TopLink 11g or EclipseLink and why. One thing I experienced with Toplink 10 was that you were almost forced to use TopLink Workbench or JDeveloper to interact with the toplink configuraiton/to get object generation to work but even then, neither of the two tools provided access to all of the TopLink APIs via visual development, so you ended up with this cross-breed of some code generation with some custom coding (say you wanted to take advantage of some object metadata feature, you might have had to explicitly call an API to set the property you wanted).

We are a development team of about 20, use Eclipse as our IDE and run Ant builds. Thanks!

Answer

Shaun Smith picture Shaun Smith · Jul 9, 2010

If you're moving to from JDO then I expect you're planning on migrating to EclipseLink JPA which has excellent tooling in Eclipse from the Dali project. EclipseLink is the JPA 2.0 reference implementation and also supports many advanced features and an extended JPA orm.xml mapping file for declaratively using those features.

BTW, Oracle TopLink 11g ships with EclipseLink as it's JPA implementation so technically TopLink JPA==EclipseLink JPA. :-)