J2EE offers a set of 15 extensions to Java, providing vendors with a common application development and application server platform. J2EE is more of a bundling effort by Sun based in EJB 1.1, including a technical specification, reference implementations of the spec, a new application programming model, and supporting documentation to bind it all together. The bottom line is that you'll have to license J2EE from Sun to survive the compatibility tests, and that's going to be a great revenue stream for Sun. It may, however, hurt some of the smaller Java-enabled technology players who can't afford the tribute. Entity beans provide a better mapping to industry application modeling paradigms, and the consistent support for entity beans ensures portability of EJBs from container to container.
Entity beans represent data in a database and the methods to act on that data.
They are always persistent, meaning that the object state is stored someplace. The innate persistence mechanism insures that the entity beans can survive from session to session and can even survive the crash of an application. When an EJB-enabled application creates an entity bean, the state of the object is maintained in a database, indexed by a unique key. Typically it's a relational database, but any storage mechanism or database model will do. When the entity bean is terminated, the state information is deleted from the database.