The arrival of an Enterprise Java Persistence standard based on the Plain Old Java Object (POJO) development model fills a substantial gap in the Java EE platform. The previous attempt (the EJB 2.x specification) missed the mark and created the stereotype of EJB entity beans being awkward to develop and too heavy for many applications. Therefore, it never achieved widespread adoption or general approval in many sectors of the industry.
Software developers knew what they wanted, but many could not find it in the existing standards, so they decided to look elsewhere. What they found was proprietary persistence frameworks, both in the commercial and open source domains.
In contrast to EJB 2.x Entity Beans, the EJB 3.0 Java Persistence API (JPA) is a metadata driven POJO technology. That is, to save data held in Java objects into a database, our objects are not required to implement an interface, extend a class, or fit into a framework pattern.
Another key feature...