Are previous versions of EJBs compatible with EJB 3.0? If I have an application currently using EJB 2.1 can I use EJB 3.0 as well or would I need to redo the whole app? What changes would be required?
All existing applications will continue to work in EJB 3.0 compliant containers. There is also the ability to interoperate between 2.1 and 3.0 session beans, so existing applications can be extended using 3.0 components (e.g. 2.1 session beans can call 3.0 session beans and vice versa).
The persistence API is a rather big change in the model, though. I don't expect that there will be much opportunity (or desire for that matter) to use both 2.1 entity beans and 3.0 entities in the same domain model. It's possible, though, as long as there are no relationships between them.