See also TopLinkWeaknesses for the flip side of the coin.
- TopLink is very powerful. In fact, it can do almost anything: whatever your schema, TopLink can map it to an OO model. (Sometimes it gets convoluted, and of course some things help a lot, sensible primary keys for example) The API is extensive and allows total control over what gets read or written.
- The MappingWorkbench simplifies a lot of the grunt work of mapping objects -- often a couple of clicks is all it takes to map a new class.
- TopLink works with any database. And I truly mean any; if not supported out-of-the box, it's easy to create a Platform class for the missing operators etc. (See for example the PostgreSqlPlatform.)
- TopLink adapts to multiple architectures: standalone app, client-server, cluster, remote client, etc. TopLink also works with any application server. It is also independent of J2EE.
- TopLink has good debugging built-in. With full debugging on, a lot of information gets logged, chief among which the SQL generated. See DebugUnitOfWork for lesser-known helper methods.
- TopLink is non-invasive on your OO schema; it works mostly with reflection, therefore no class or even interface to extend. It is possible to fully encapsulate TopLink, although realistically most projects will simply embrace it.
- TopLink is an industry standard. As of 2005, it has a single true competitor, the open-source Hibernate -- see TopLinkVsHibernate. As far as I can tell, all others (Cocobase, Cayenne, etc.) are wannabe competitors.
- TopLink is a seasoned product, and has Oracle backing it. Stellar support.
|