I hate hibernate!

Every day another hibernate fuckup! And it is not (only) my poor understanding of it! It’s the unsufficient documentation. It’s the bad written book. It’s the arrogance of the hibernate team members in their forum. It’s the way they handle bugs. It’s their inconsistence with these two totally separated query-languages. It’s their proxy-fuckup. And i’m not alone with that perception…

32 thoughts on “I hate hibernate!”

  1. In their documentation, even the most basic concepts are poorly, confusingly, sometimes contradictorily documented.
    And it is very irritating, the arrogance with which they treat people asking questions in their forums.

  2. Yawn…
    Nobody forces you to comment on that post.
    But now I feel miserable.

  3. Actually, I don’t see any point on such frameworks. The great majority of their users develop inhouse and expert systems that are more likely to NEVER change the underlying database!

    What do people expect to abstract with that crap? Not mentioning the effort spent on the seas of XML configuration that could be as well employed on decent code to do the same abstraction (considering that it is really needed) !!!

  4. Wow. Agree. Agree. Agree. Agree.

    IMO Hibernate does do quite a few cool things. But the cost in using it is much too high – it’s like u need a PHD in Hibernate to use it properly. There are many things I hate about it, but you pretty much nailed the big ones.

    The documentation IS awful.
    The crazy configurations you have to come up with for real simple SQL operations.
    HQL! The so-called ‘extension’ to SQL. It’s not an extension… it’s a replacement! Was ANSI SQL not good enough?
    Oh yes and the Hibernate nazis on the Hibernrate forum! ‘You’re free NOT to use Hibernate’. I have news for you, jerky, I am NOT free to not use Hibernate cuz I am now in charge of an app that was built with it!!!

  5. I just got through trashing hibernate after spending far too many hours and days working out what should be simple stuff. I was led to believe that using annotations would make it easier to use with less headaches. WRONG!!! Example…

    Trying to map relational tables from a single entity. User with many UserEmails. After lots of headaches, I FINALLY got it to work with little help from the documentation and especially the condescending forum rats. Then, all I wanted to do was add another single entity InvoiceType which in no way had anything to do with the two entities above…NONE! As soon as I add this new annotated entity class, I start getting: “org.hibernate.DuplicateMappingException: Duplicate collection role mapping com.lostproperty.model.User.userEmails”. Keep in mind I’m using annotations and NO cfg file. I remove the InvoiceType from the session creator and the message is gone and works fine.

    That it totally and completely messed up! I completed my second day now banging my head against the computer monitor before deciding to chunk hibernate into the trash. I would set it on fire and stomp on it’s ashes if that was physically possible. It’s too bad that a growing number of shops are using it…or trying to at least.

    Nice to see others having the same issues. We need to start a support group! 🙂

  6. Most of these tools are sacrificing simplicity for the appearance of simplicity. That is, the result
    looks simple once it works, but there’s oceans of bytecode rewriting, mysterious foreign key constraint
    problems, commits happening in the wrong order, unknown wasteful SQL being executed, and other
    stuff happening in the background that you have to control by trial and error. The book is 5 times bigger
    than K&R with 10 percent of the intellectual content.

  7. “IMO Hibernate does do quite a few cool things. But the cost in using it is much too high – it’s like u need a PHD in Hibernate to use it properly”

    Oh man, I just couldn’t agree more with this words

  8. Hibernate is a piece of shit. It’s a total waste of time. It doesn’t do anything well. If you want a high performance system, ditch hibernate and use JDBC with stored procs. If you’re coding a POS system with a basic data then use Hibernate. I manage 8 engineers. They end up wasting hours fucking with Hibernate when the solution can be easily accomplished using Stored procs and JDBC.

    If you’re tied to Spring: just use the JDBCTemplate. You’ll get everything you get from Hibernate without the bullshit. Hibernate is a total waste of time. There’s no way that it can compete with natively compiled stored procedures and good ole JDBC.

  9. I couldn’t agree more. I have never come across a single project which has benefitted from having Hibernate in its stack. The problem is the software industry is full of fashion victims and its perpetuated by people like us who need to toe the line in order to get a job. Hibernate and all ORM mapping products are the 80’s shoulder pads of the Java world and it is my guess that in a few years time we will all look back and realise what a bunch of twats we looked.

    The other problem is a lot of developers are scared of writing a bit of SQL or a stored proc and would rather spend hours configuring crap annotations and fucking about with badly documented shit like this than actually getting the job done.

  10. Hibernate is an awesome piece of software! I even created my own HibernateBeanFactorySpringInjectedAdapterFramework with it! It works like a charm and I got all my J2EE-certificates.

    try
    {
    HibernateSessionAdapterFactoryImpl h=HibernateSessionFactory.instance().getSession();
    SpringAdapterFrameworkImplMapperBeanInterface s=SpringFrameWorkManagerInterfaceHandlerHanlder();
    HibernateObjectMarshaller m =getHibernateObjectMarshallerInterfaceWrapperAdapterUtilClassLoader();
    m.serializeObject(getObject());
    }
    catch (HibernateException e)
    {
    LogFactoryAdapterImplProxyHandler.instance().log(e)
    }
    catch (SpringException se)
    {
    if (SpringFrameWorkLogFactoryWrapperHandler.loggerRunning())
    {
    LogFrameworkWrapperExceptionImplAdapterEnterpriseMapperInjectorBean.log(se);
    }
    }

  11. Hibernate is a piece of shit. Everybody needs a DAO / data access layer when doing web programming. And hibernate is the so-so features software that screws up 10% of the time but then completely. Waste of energy. Nothing new. Buggy software. Lame documentation.

    you get a stacktrace.

    you google

    you find a bug report

    you really ensure this is your bug and not some kind of misconfiguration

    you realize this is really your bug

    you find out nobody cares

    you look at the number of major bugs

    you realise this piece of software P.O.S. is also a Piece of shit

  12. Could not agree more, but….

    If not hibernate, then what?

    Anybody have experience with using something that works better?

    Nat

  13. Hibernate is a piece of shit. I hate it. After working with it, the last 2 months i am very frustrated. I have to use it, because my comopany uses it but i don’t like it. Hibernate Criteria. Never saw a more useless tool. If you want to do simple things. Nice. But if you have to do a little more complicated things. It fails!!! Documentation is awful. Only simple things are explaned. Real use cases are far from the documented use cases. Hibernate team :” The real worl exists with more than one entity and two relations!!” I was so frustrated, that i have switched to not use Hibernate. Thanks god, i don’t believe in god. My chief said ok,this time. I have read more than four books concerning hibernate. Awful! Same as the documentation. Simple examples, noboby needs it! BlaBlaBla, you can have this job, if you know Hibernate. Sorry, but i think i don’t want this job. I think you don’t know Hibernate.

  14. If not Hibernate, then EclipseLink, I have little experience using JPA implementations, but I suspect EclipseLink works better.

  15. BTW, I have not talked to Hibernate development team members, but by the words read in this forum the seem to be bastards, well, everybody that do something that others use believe his/herself Da Vinci, they are assholes, nothing more than that.

  16. I had some problems with Hibernate and JPA too.
    I like SQL and transactions. They aren’t problems.
    I like OO too, so i’m tring to do something different about:

    My Little JAVA ORM here:
    http://www.codigorapido.com.br/testeOrm.zip
    the source are very simple to understand.
    it is just a draft, but is working. I wanna improve it.

    If someone like the idea, please send me a e-mail with the subject “I LIKE YOUR ORM” to
    luiz-unb@bol.com.br

    I’m looking for friends to make something different.

  17. After struggling for few weeks finally gave up on hibernate. It is simply not suitable for enterprise applications and not for me. really wonder why people try to solve simple problem with complex solution ? Writing sql was so difficult that produced this monster headache causing hibernate ? I will never every touch hibernate. I love SQL and JDBC.

  18. Hibernate sucks. The only thing it helps your project is making it more complicated. I saw numerous engineer time wasted in my company because of using hibernate.

  19. Oh man… I agree… Hibernate is way too complicated and I’ve been struggling with it for some time now too. The books are ridiculous and the documentation is laughable… and yet… I’m required to use it at work. Sadly, I inherited a system that uses Hibernate. It’s really hard to learn. It’s nice to see I’m not the only one that feels the same way about this technology.

  20. After 8 years of using hibernate (3.x) in a project I replaced the hibernate Library and it feels good!!! Yes, simple tasks get complicated and frustating. The weird workflow where the objects get attached to be within the hibernate session are gone! And of course the exceptions are gone when lazy loaded to-many relationships needed to be in a session. And I don’t need any workarounds for a framework to get it work…

  21. Hibernate is the biggest piece of crap I’ve come across in my whole life. For YEARS I’ve been thinking it was a problem of mine: maybe my IQ wasn’t high enough, or I didn’t try hard enough with the manuals and docs, only to realize that, doors closed, all real developers… HATE IT. Stinkiest buggier bullshit ever. Mind-numbling complexity. Insane configuration. The ONLY reason we use it is because of legacy systems and JOB APPLICATIONS: “NO HIBERNATE, NO JOB”. It’s a FAD. It’s a fraud (for clients and developers alike). What to use instead this Hibernate curse? A good JDBC framework that takes away the redundant code and that manages resources and exceptions. Try DBUtils + DBCP (Apache) or Spring JDBC. Hibernate is THE ULTIMATE HEADACHE. And that fucking moron of Gavin King can kiss my ass goodbye.

  22. Hibernate is the “advanced math & electronics” of people without college education.

    It is completely forbidden at PWC and Deloitte, both companies I’ve worked for.
    Now in 2012. the general perception is that it brings more problems to the table than what it solves.

    Hibernate should not be used in production environments, or mission-critical software.

  23. Fuck! I gave Hibernate another try and I’ve learned once again it is bullshit… a scam! LIke another poster said, it gives the APPEARNACE of simplicity, when in fact, it’s just pretty window dressing that doesn’t actually work in the real world for anything other than very trivial applications!

  24. I’m agree with you. Hibernate is a shit, it’s a waste of time. It’s far more simple and optimal to use standard SQL because you have everything under control, you can obtain resultsets rapidly in the most optimal way.
    Hibernate works fine for simple queries with no many-to-many tables, but once you add more complicated structure to the design the complexity with Hibernate increases exponentially.

  25. We started implementing hibernate 5 months ago and are not stable with it yet

    FUCK HIBERNATE. IT WAS WORKING CORRECTLY BEFORE HIBERNATE WAS INTRODUCED

  26. Maybe not “shit” but for sure not applicable for all applications. Whether to use Hibernate or not to use it – there is the real analysis required before the project start. Our company made a mistake in one of projects and used it. Lesson learned: Spring Template. The design pattern I started applying in my work: “No Hibernate” pattern. (even if the app is suitable for Hibernate – my intuition tells me to keep out of it). I agree with the conclusion that it’s more complex than a problem it tries to solve. I don’t need “spacecraft team” to insert or select a record. I appreciate refined “n-th level caches concepts” but it’s not for me – it’s for spacecraft teams with plenty of resources and time for crosswords. And not because I’m not good enough. It’s because I have more urgent things to do than playing with the technology which should be easy but it only pretends to be easy.

Comments are closed.