First Impressions on EJB3.0

I've been getting some EJB3.0 stuff together for my class and posted some of my thoughts over at BTL:

First and foremost, the beans in EJB3.0 are significantly less complex. Entity beans are just plain old Java objects (POJOs) and the container manages the mapping of these objects to a relational database and the persistence of POJOs to the database. For example, the interfaces for EJBs do not have to implement EJBObject or EJBLocalObject. In addition, lifecycle methods like ejbPassivate, ejbActivate, ejbLoad, ejbStore, etc. are no longer required.

The metadata annotation feature of Java 1.5 is put to use in annotating entity and session beans to give hints as to the behaviors that you want from the bean. In the past I've used XDoclet to simplify bean building, but EJB3.0 doesn't require it because of the annotations.

While I've not done any performance tests, they seem faster. Now in addition to moving to EJB3.0, I also moved from JBoss 3 to JBoss 4 and that could be the difference.

The change to POJOs for entity beans has been advertised as Hibernate in EJB, but you don't feel like you're using Hibernate; the connection is more conceptual than anything else. I've only used the mapping from entity objects to the relational table, not the other way around.

Documentation is sparse. There's been lots of questions that I've had trouble finding answers to. I'm sure that will change. As long as your application follows the few examples fairly closely, you'll be able to gather what to do from them, but that only goes so far.
From First reactions to EJB 3.0 | Between the Lines |
Referenced Thu Sep 29 2005 13:35:47 GMT-0600 (MDT)

I'm still exploring, so more to come...