jbella wrote:
What kind of problems have you had using toplink in an enterprise application?
The problem I had was that the Toplink doco absolutely refuses to go into detail about *how* anything works. So you're left with a whole bunch of ways of doing things, but no idea when to use which and what trade-offs you're making. This was three or four years ago, so maybe it's improved since.
The Toplink project I worked on just ended up being a big mess with all these poxy little workarounds (that absolutely killed Toplink's ability to do any optimisation) because nobody knew how to use it properly.
The Hibernate doco is, on the other hand, easily some of the best doco I've ever used. It's not perfect and it won't write your code for you, but it's pretty good all the same. And you can help to make it better if you want.
I'm a nuts & bolts kind of guy, so the ability to dig into the Hibernate source is of course a big help to me, but that might not be your thing. The Hibernate source is also quite well written and easy to read (just stay out of the QueryTranslator :).
The support on the Hibernate forums is pretty good. Not much hand-holding, but that's fine by me.
Keep in mind, Hibernate is fundamentally not "easier" than Toplink or any other O/R mapping tool. You'll still need a Hibernate "go to" guy. And half your team will still be completely SQL unaware - Hibernate won't help them do persistence-oriented guff any better than they do now.
O/R mapping is a complex and difficult thing and there is no silver bullet for it. The difference is that, with Hibernate, you can put in the hard yards, figure out how it works, and then implement something that works reasonably well - all without having to pay consultants or send your team on training.