My absolute most horrid work experiences have all involved Hibernate / JPA. It slows everything to a grinding crawl, works somewhat 99.9 % of the time and creates inexplicable un-debuggable errors for the remaining 0.1%
On top of that you have to ditch referential integrity to make it at least limp along
Give me plain SQL or something lowlevel like sql2o any day