OpenJPA is an
open source implementation of the
Java Persistence API
Jakarta Persistence (JPA; formerly Java Persistence API) is a Jakarta EE application programming interface specification that describes the management of relational data in enterprise Java applications.
Persistence in this context covers three ...
specification. It is an
object-relational mapping (ORM) solution for the
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
language, which simplifies storing objects in databases. It is
open-source software
Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Op ...
distributed under the
Apache License 2.0.
History
Kodo, a
Java Data Objects
Java Data Objects (JDO) is a specification of Java object persistence. One of its features is a transparency of the persistence services to the domain model. JDO persistent objects are ordinary Java programming language classes ( POJOs); there ...
implementation, was originally developed by SolarMetric, Inc in 2001.
BEA Systems
BEA Systems, Inc. was a company that specialized in enterprise infrastructure software products which was wholly acquired by Oracle Corporation on April 29, 2008.
History
BEA began as a software company, founded in 1995 and headquartered in ...
acquired SolarMetric in 2005, where Kodo was expanded to be an implementation of both the
JDO (JSR 12) and
JPA (JSR 220) specifications. In 2006, BEA donated a large part of the Kodo source code to the
Apache Software Foundation under the name OpenJPA. The donated source code will be the core persistence engine of
BEA Weblogic Server,
IBM WebSphere
IBM WebSphere refers to a brand of proprietary computer software products in the genre of enterprise software known as "application and integration middleware". These software products are used by end-users to create and integrate applications wi ...
, and the
Geronimo Application Server. In May 2007, OpenJPA graduated from the incubator to a top-level project and also passed Sun's
Technology Compatibility Kit
A Technology Compatibility Kit (TCK) is a suite of tests that at least nominally checks a particular alleged implementation of a Java Specification Request (JSR) for compliance. It is one of the three required pieces for a ratified JSR in the Java ...
compliant with the Java Persistence API.
OpenJPA Project Incubation Status
/ref>
See also
* Persistence
* EclipseLink
EclipseLink is the open source Eclipse Persistence Services Project from the Eclipse Foundation. The software provides an extensible framework that allows Java developers to interact with various data services, including databases, web services, ...
* Hibernate
* ActiveJPA
* NoSQL datastores like Infinispan
References
External links
*
Kodo Towards an Open Source EJB 3.0 Persistence Engine by Jon Mountjoy
by Kevin Sutter
Interview with Patrick Linskey
discusses OpenJPA and the JPA specification on August 23, 2007
{{DEFAULTSORT:Apache Openjpa
OpenJPA
Object-relational mapping
Java enterprise platform