Many people dislike using EJBs (which entity beans are a subset of) because they are costly in terms of resources (you will find this many places; I don't have exact numbers but you can easily google for some)
Hibernate is a "lightweight" framework that seems to fulfill the most useful features of EJBs (persistence). It is also much faster because its lightweight.
Your best bet for a comprehensive coverage is to google for some articles.
Personally I stick with EJBs because thats what is in the spec. You can rest assured that if you program to
EJB spec, your app will run properly across all application servers (but they must support that EJB spec eg 2.0, 2.1, 3.0 of course).
EJB 3.0 will be more "lightweight" and more like Hibernate from what I've read. It would be advisable to google for EJB 3.0, too.
I've decided that I will stick to EJB because it provides other features I need (remotability, transaction, security, timer services) in addition to being the spec.
It really depends on what sort of functionality and compliance you are looking for. Both are widely used.
[ February 02, 2005: Message edited by: Steve Buck ]