| |
Java Object Persistence
JPA - Java Persistence API
The Java Persistence API (JPA) provides a POJO (Plain Old Java Object)
persistence model for object-relational mapping.
The new Java Persistence API was introduced with Java EE 5 platform, to
simplify, improve and standardize the development of Java EE and Java SE
applications using data persistence.
This API draws upon the best ideas from persistence technologies such as Hibernate,
TopLink, and JDO, however it provides to the entire Java community a single,
standard persistence API with freedom to choose a provider (implementation).
Developed as part of JSR-220 — EJB 3.0 Technology —, JPA integrates
smoothly and consistently with the rest of the simplifications to the EJB 3.0 APIs.
-
Java Persistence API
-
Java Persistence API (JPA) FAQ
JPA, JDO and EJB
3.0 Technology FAQ.
-
JSR 220: Enterprise JavaBeans (EJB) 3.0 & Java Persistence 1.0
The purpose of Enterprise JavaBeans (EJB) 3.0 is to improve the EJB
architecture by reducing its complexity from the developer's point of
view. JSR-220 covers the definition of a new, single POJO (Plain Old
Java Object) persistence model for the Java community, which will be
delivered as a separate specification, Reference Implementation, and
Technology Compatibility Kit, usable independently of EJB 3.0.
J2EE 5 (JSR-244).
JSR-000220 Enterprise JavaBeans 3.0 (Final Release).
-
The Java Persistence API - A Simpler Programming Model for Entity Persistence
Article by Rahul Biswas and Ed Ort, May 2006, Sun Developer Network (SDN).
-
Java Persistence with Hibernate
The Hibernate Annotations
package includes Standardized JPA and EJB 3.0 (JSR 220) object/relational
mapping annotations, plus Hibernate-specific extension annotations for
performance optimization and special mappings.
Hibernate EntityManager
wraps the powerful and mature
Hibernate Core for Java and
implements The standard Java Persistence: management API (JPA),
Query Language, object lifecycle rules, configuration and packaging.
-
GlassFish Project - Persistence
TopLink Essentials - The Java Persistence API Implementation at GlassFish.
GlassFish Persistence Example.
-
Oracle TopLink JPA
TopLink Essentials is the open-source community edition of Oracle's TopLink
product. It provides the JPA functionality for the EJB 3.0 Reference Implementation.
Toplink is also part of
Oracle Application Server (iAS/OAS).
Tutorial: Build a Web Application (JSF) Using JPA.
- Apache OpenJPA
Apache OpenJPA, a Java EE persistence project of the Apache Software
Foundation, is a feature-rich implementation of the persistence part of
Enterprise Java Beans 3.0, the Java Persistence API (JPA), and is available
under the terms of the Apache Software License.
OpenJPA can be used as a stand-alone POJO persistence layer, or it can be
integrated into any EJB3.0 compliant container and many lightweight frameworks.
-
Introduction to using Java Persistence API in a web application in Java EE environment
Tutorial by (Sanjeeb Kumar) Sahoo, December 04, 2005.
Using Java Persistence API in Java EE Platform - Part II, December 15, 2005.
Introduction to using Java Persistence API in a web application,
discussion thread at TheServerSide.COM.
-
JPA implementation patterns
By Vincent Partington, Xebia Blog.
JPA implementation patterns: Wrap-up, 2009-07-13.
Basic patterns:
Data Access Objects (DAO
also at Javalloby), Saving (detached) entities, Retrieving entities,
Removing entities
(Removing
also at Javalloby), Service Facades and Data Transfers Objects
(DTO
also at Javalloby).
Advanced patterns: Bidirectional associations
(Bidi
also at Javalloby), Lazy loading, Bidirectional associations vs. lazy
loading, Using UUIDs as primary keys (guest blog by Albert Sikkema),
Field access vs. property access, Mapping inheritance hierarchies, Testing.
-
generic-dao - JPA Data Access Object Toolkit
Java toolkit which makes DAO manager creating easier.
It produced DAO compatible with JPA specification.
It has implemented CRUD operations and some features (active, hidden,
default, etc.).
It also extends standard API for criteria (like Hibernate ones).
generic-dao Project at Google Code, Apache License 2.0.
-
Crank - Java Framework for CRUD and Validation
Crank allows idiomatic, efficacious GUI development based on your Java
object model.
Crank is a master/detail, CRUD, and annotation driven validation framework
built with JPA, JSF, Facelets and Ajax. It allows developers to quickly come
up with JSF/Ajax based CRUD listings and Master/Detail forms from their JPA
annotated Java objects.
krank Project at Google Code, Apache License 2.0.
-
Persistence in J2SE project
Petr Blaha's WebLog, December 15, 2005.
-
Basic Java Persistence API Best Practices
By Dustin Marx, May 2008, Oracle Technology Network.
Consider and employ these simple approaches to make your Java Persistence
API applications more maintainable.
-
Using the Java Persistence API (JPA) with Spring 2.0
Article by Mike Keith and Rod Johnson, 2007-04-30.
-
Java Feature - Inheritance Hierarchies in JPA
Understanding and comparing inheritance hierarchies in Java Persistence API.
Article by Raghu R. Kodali; Jonathan Wetherbee, Oct. 23, 2006,
Java Developer's Journal (JDJ).
JDO - Java Data Objects
-
Java Data Objects (JDO)
The Java Data Objects (JDO) API is a standard interface-based Java model
abstraction of persistence. Alternatives to JDO include direct file I/O,
serialization, JDBC,
Enterprise JavaBeans (EJB) Bean Managed Persistence (BMP), e
Container Managed Persistence (CMP) Entity EJB.
-
JSR 243: Java Data Objects 2.0 - An Extension to the JDO specification
The high level objectives are to make JDO easier to use, closely align
JDO with J2EE, standardize JDO's database support, and broaden the scope
of JDO.
-
Apache JDO
Why JDO,
JDO v JPA,
JDO Implementation, JDO Usage, Community.
JDOcentral.com.
-
JDO or CMP?
Article by David Jordan & Craig Russell, authors of
Java Data Objects book, May 2003, OnJava O'Reilly Network.
Persistence Reloaded: JDO or CMP? - article's discussion thread on
TheServerSide.
Java Persistence Frameworks
-
Javangelist :: Object-Relational (OR) Mapper Frameworks
Extensive listing of Object-Relational mapping frameworks.
-
Object Relational Tool Comparison
This page has been created to compare Java ObjectRelationalMapping layers.
This should help potential users to make an educated choice of O/R technology
and to better understand the existing products.
-
Hibernate
Hibernate: Object/Relational Mapping and Transparent Object Persistence for Java.
Hibernate joined JBoss Group (September 2003) and is future backbone of
JBossDO and JBoss CMP.
Hibernate is a powerful, ultra-high performance object/relational
persistence and query service for Java. Hibernate lets you develop persistent
objects following common Java idiom (association, inheritance, polymorphism,
composition, collections). Hibernate supports all major relational database
management systems and ODMG 3 interface. It is Free Software (LGPL).
SourceForge Project: Hibernate.
Alternate URL:
hibernate.bluemars.net.
-
Oracle TopLink
Oracle Application Server TopLink Java object-to-relational persistence
software integrates the object and relational data worlds, allowing
applications to transparently store and retrieve Java objects using
relational databases. TopLink was acquired from WebGain, which in turn
had adquired it from ObjectPeople.
-
OJB - ObJectRelationalBridge
By the Apache DB Project.
ObJectRelationalBridge (OJB) is an Object/Relational mapping tool that allows
transparent persistence for Java Objects against relational databases.
OJB supports multiple persistence APIs: ODMG 3.0, Sun Java Data Objects (JDO),
Object Transaction Manager (OTM), a low-level PersistenceBroker API.
-
Apache iBATIS
The iBATIS Data Mapper framework makes it easier to use a database with
Java and .NET applications. iBATIS couples your own objects with stored
procedures or SQL statements using a XML descriptor.
Simplicity is the biggest advantage of the iBATIS Data Mapper over
object relational mapping tools.
iBATIS.com. SourceForge projects:
iBATIS for Java
(ibatisdb) &
iBATIS.NET.
-
Castor
Castor is an Open Source data binding framework for Java. It's a short
path between Java objects, XML documents and relational tables.
Castor provides Java-to-XML binding, Java-to-SQL persistence, and more.
- Prevayler
Prevayler is a free-software Prevalence layer for Java.
Ridiculously simple, Prevalence is by far the fastest and most
transparent persistence, fault-tolerance and load-balancing architecture
for Plain Old Java Objects (POJOs).
-
TriActive JDO (TJDO)
TriActive JDO (TJDO) is an open source implementation of Sun's JDO
specification (JSR 12), designed to support transparent persistence
using any JDBC-compliant database. TJDO has been deployed and running
successfully in many commercial installations since 2001.
-
DataNucleus Access Platform
DataNucleus Access Platform is a standards-compliant Open Source Java
persistence product. It is fully compliant with the JDO1, JDO2, JDO2.1,
JDO2.2 and JPA1 Java standards. It also complies with the OGC Simple Feature
Specification for persistence of geospatial Java types.
It utilises an OSGi-based plugin mechanism meaning that it is extremely
extensible. It is also free for use.
DataNucleus replaces JPOX - Java
Persistent Objects JDO.
|