Java Object Persistence
-
A Letter to the Java Technology Community
Article on Java persistence trends, by Linda DeMichiel and Craig Russell, JSR-220 and JSR-243 Specification Leads. -
The Design of a Robust Persistence Layer for Relational Databases
Scott W. Ambler, Ambysoft, June 2005. PDF download. - Agile Data
Scott Ambler articles on Object-to-Relational Mapping. -
Choosing an object-relational mapping tool
Article by Fabrice Marguerie, 15/oct/2005. -
Java Persistence Frameworks, again
Dave Johnson's weblog on Java, Open Source, and the Roller Weblogger. Sunday October 13, 2002.
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.
- Hibernate Object Relational Mapping, by John Hunt, 2005-12-03, The Register UK.
- Hibernate - Tuning Queries Using Paging, Batch Size, and Fetch Joins, by Eyal Lupu, 2008-06-09, DZone Javalobby.
-
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.