Write a review to share your experiences with open source!
On DevRates we focus on reviews by developers using libraries on their daily work.
Interested in the latest trends and top-rated open source projects for all layers of your application?
DevRates contains projects reviews of most popular tagged categories and programming languages.
Follow projects and don't miss any news from blogs and twitter on your wall.
Your company is looking for talented developers? Register on DevRates and show your technology stack on your company profile.
hibernate is ubiquitous and quite simple to start with. but i met only frustration and dispair, when working with hibernate. there are thousands annoying bugs in bug tracker, documentation lack details (so you are forced to read a book)
heavy use of hibernate results in enormous memory consumption(so manual flushes are a must).
deadlocks are a usual thing and hibernate dont allow to tune locking order.
hibernate don't work with database constraints nicely.
entity state can only be managed from one side of bidirectional relationship.
proxy usage in not trivial when implementing equals or polymorphism. proxy visitor pattern is an example of proxy ugliness.
duplicated entities when doing join fetch is just ridiculous. don't tell me about OUTER joins - if there is always master entity, hibernate should always do master left join child. any solution offered by hibernate community results in perfomance problem - using Set results in duplicates send over network and increasing network load, using distinct projection results in filesort in most databases.
overall, hibernate was a performance issue in our last project. hubernate took much time mantaining it's own session and collection, each commit took seconds(!)
interesting and fresh concept, layered model that fascilates writing maintainable code, preexisting handlers for popular protocols(http, tls), high performance with moderate resources usage. writing code with netty is enjoyable and remids what java programming can really be
with activemq we had disk database crashes once a month. activemq did nothing on crash - it still accepted messages and discarded them all.
activemq have poor tooling - there is no way to browse queue or send a message from console, web interface allows to browse queue but is very inconvinient(only limited subset of headers is displayed).
custom binary messaging format(openwire) is simply plain wrong - no interop with third party products, no traceability.
activemq is persistent MQ - this severely affects performance. our deployment was unable to reach even 300messages/second with a queue