Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Hibernate OR EclipseLink...Which is best with Weblogic and Oracle DB?

824749Dec 17 2010 — edited Dec 17 2010
Hi All,

In my company, we are using Oracle DB and Weblogic application server. So in the process to upgrade or switch to new ORM, we shortlisted two options - Hibernate and EclipseLink.

I gathered following summary regarding both ORMs -

Hibernate:

1. When you need to train people, like we are going to do next week – most of the companies have Hibernate experts.
2. When you hire new developers, most of them come with specific Hibernate experience.
3. When you need to consult with experts, both in the internet or consultants, you have LOTS of options. Endless forums and communities all regarding Hibernate.
4. Hibernate is an open source which has a huge community. This means that it will be improved all the time and will push the ORM market forward.
5. Hibernate is an open source which means you have the code to handle, and in case needed, fit it to your needs.
6. There are lots of plugins to Hibernate, such as validations tool, audit tools, etc. These becomes standard as well and dismiss you from impl. things yourself.
7. One most important thing with ORM tool, is to configure it according to your application’s needs. Usually the default setting doesn’t fit to your needs.
For that sake, when the market has a huge experience with the tool’s configuration, and lots of experts (see point 1 and 3) – most of chances you will find similar cases and
lots of knowledge about how to configure the tool and thus – your application.

EclipseLink:

1. Fully supported by Oracle. Hibernate no. In case of pb, it could be cumbersome to prove that it is a pure Weblogic one. Concretely, we will have to prove it (waste of time and complexity).
2. Eclipse link is developed by Oracle and the preferred ORM in the Weblogic /Oracle DB world.
3. Even if at a certain time EclipseLink was a bit late compared to Hibernate (feature), EclipseLink evolved very fast and we can consider now that they close the gap.
4. No additional fee as soon as you have Weblogic license. You will need to pays additional fee if you want some professional support on Hibernate.
5. We are currently relying on Hibernate for our legacy offer and are facing pb in second level cache (JGroups). Today, we are riding off this part!. Consequences are limitation in clustering approach (perf)
6. On EclipseLink side we do succeed to manage first and second level cache in a clustering approach.
7. Indeed Hibernate is open source, so you can imagine handling it. In reality, the code is so complex that it is nearly impossible to modify it. Moreover as it is LGPL, you need to feedback all the modified sources to the community systematically.
8. All tests performed by Oracle concerning Weblogic are using EclipseLink. Moreover, Oracle says that some specific optimizations are done to manage Oracle DB.
9. Hibernate comes from JBoss community.


Right now we are preferring Hibernate but there are concerns/reasons like EclipseLink developed by Oracle and preferred ORM in Webogic/ Oracle DB world (compatibility of ORM with DB and App. server), support comparison with both ORM, which are preventing to finalize the decision.

Please help me with you views and opinions and share you experience with us so that we can make a perfect decision.

If you want you can also reply to me @ yogesh.golande@gmail.com.

Thanks.

Comments

504035
The way the ORMs are designed, integration with application servers are relatively simple, and all provides the same features. Also since WebLogic have been around for a while, all ORMs are all well tested in this configuration.

Hibernate has lot more users, and is likely very often used with Oracle DB, so you can expect not much bug against Oracle DB, maybe even less bug than EclipseLink, which is not much used. EclipseLink does provide support for some esoteric Oracle DB features like hierarchical and flashback queries.

OpenJPA and DataNucleus are also JPA compliant. It’s likely that Open JPA has a higher user base than EclipseLink, so less unknown bugs.

Oracle paying support is well known to be a bad joke. It’s a negative return to use this channel, even if they would be free. So in reality, you end up to use the open (free) forum to get support.

What’s was lacking with Hibernate before is Dynamic Fetch Planning, but they now have some support, see http://opensource.atlassian.com/projects/hibernate/browse/HHH-3414. OpenJPA was the first to implement this must have.

EclipseLink has query in memory, which can be used, but the API do not help to leverage it, and EclipseLink’s leadership made it clear that they are not going to make it better, instead they want to push Coherence cache.

Hibernate has an open API for second level cache, which mean you can get out of problem by using another implementation, for example, EHCache seems to be professionally tested, so I would be surprise you find obvious bugs.

I cannot comment on Hibernate source code quality, but I can tell you that locking mechanism in EclipseLink is used to be very fragile, and many concepts are dispersed over the code base.

The runtime monitoring of Hibernate have always been great due to the fact that JBoss have always been strong on JMX, EclipseLink has not much usable features on this.

If I would be you, I would consider OpenJPA or Hibernate instead of EclipseLink, the main reason is that because EclipseLink has a so low user base, I have found lot of obvious bugs in production, like if I was the only user of it. Then, when I submitted bugs to the small development team, which do not encourage user base contribution, they were too busy trying to keep up adding the JPA interfaces on top of their existing proprietary APIs.
1 - 1
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Jan 14 2011
Added on Dec 17 2010
1 comment
992 views