travism wrote:
I've also read in various articles and books (most recent Tate and Gehtland's Spring A Developer's Guide) that Hibernate isn't the best solution for large applications.
This is completely bogus. Hibernate makes
most sense in applications with large data models (ie. many tables), large teams, applications with complex business logic, and applications which work with deep graphs of data.
We have plenty of successful customers to demonstrate this fact.
"Small" applications (esp. apps with few tables) is exactly the usecase where we tell people to
not use Hibernate.
Hibernate was specifically designed to work for very complex data models.
Note that Tate has been saying this kind of stuff for years now, apparently without ever bothering to re-evaluate as Hibernate grew more and more sophisticated, and usually without bothering to provide any kind of evidence to back up his statements. (If he actually offers any technical arguments in the new book, please let us know, are so we can debunk them right here.)
So, a while ago, I sent Bruce a polite private email asking for his reasoning why - despite all practical experience of big companies we have as customers - Hibernate could not be used for "enterprise" problems. He sent me back an incredibly weak list of reasons (all HB2-specific) and then when I tried to (politely, and technically) argue his points, he got angry and threatened to write bad articles about Hibernate if I didn't show him "respect" like other persistence vendors do (???). It was truly one of the most bizarre reactions I have ever recieved to any email I have ever sent.
Basically, what I got from this interaction was Bruce doesn't like having his ideas challenged, doesn't know much about Hibernate, and isn't particularly curious. It's always annoying to have guys like this out there painting themselves as experts, but I'm afraid it is something we'll just have to live with.
Again, if anyone has actual technical reasons / practical experience of Hibernate not working in a large-scale app (ie. due purely to the scale), I am very, very interested and happy to discuss them here in this thread.
So far I am yet to hear of a single example of where someone was successfully using Hibernate on a small scale and was then unable to "grow". If there are any examples of this, we would like to heard about them. This is the only way we will improve.
What I'm hearing from enterprise customers over the last few months is basically that we have OLTP licked, and the problems are all affecting non-OLTP cases, especially batch processing. Hence, this is the focus of 3.1.