Comme je suis un "TopLink" utilisateur depuis 2001, je suis peut-être un peu biaisé (eclipseLink est basé sur un open-source version de TopLink).
À l'époque, dans les jours précédant la JPA, nous avons utilisé les deux Hibernate et TopLink dans différents projets, et déjà à l'époque, TopLink a été de loin la plus riche, mieux documenté, plus performants, plus avancé et plus propre ORM solution. Ils avaient déjà un des critères de la requête de l'API à l'époque, et sophistiqué de mise en cache et multi-niveaux des options. Hibernate a toujours eu la sensation d'une approche minimale. Nous l'avons utilisé parfois dans de petits projets, parce que c'était simple, c'était l'open source et disponible gratuitement, ce qui TopLink n'était pas à ce point.
Alors que Hibernate a certainement avancé maintenant que les deux sont la mise en œuvre de l'APC de la norme, je pense toujours que ça juste pour dire que eclipseLink est une architecture beaucoup plus propre, et plus avancée dans le respect de la JPA standard (ce qui est assez juste, car il est l'implémentation de référence). En fait, de nombreux concepts dans JPA semblent avoir été inspirés par TopLink, et non pas l'inverse, alors que Hibernate a dû subir des modifications importantes afin de soutenir la JPA et presque perdue dans la JDO/JPA confusion. Cela a conduit à des problèmes de stabilité et une certaine adaptation d'impédance entre l'original "Hibernate Façon" de faire les choses et de ce qui est spécifié dans l'accord de projet conjoint.
Je ne vois pas pourquoi le bytecode de traitement est un con pour eclipseLink, ça marche assez bien et permet aux développeurs d'utiliser eclipseLink vraiment de manière transparente. Et si vous ne l'aimez pas, vous pouvez simplement désactiver.
EclipseLink offre également une charge d'options supplémentaires au-delà de la spécification JPA, qui peut ou ne peut pas devenir une partie de la spec dans les versions ultérieures. Pensez à déclarative de l'exposition des entités JPA comme JAX-RS webservices restful etc.
La communauté Hibernate peut-être encore plus grande que eclipseLink, juste parce que eclipseLink n'est pas dans l'open source, aussi longtemps que la mise en veille, mais la documentation et le soutien de la communauté est assez bon pour eclipseLink ainsi, et il est croissante. Et eclipseLink prédécesseur a été prouvé plus d'une décennie dans une large gamme de niveau de l'entreprise pour les projets Java.