I've been a zone leader with DZone since 2008, and I'm crazy about community. Every day I get to work with the best that JavaScript, HTML5, Android and iOS has to offer, creating apps that truly make at difference, as principal front-end architect at Avego. James is a DZone Zone Leader and has posted 640 posts at DZone. You can read more from them at their website. View Full User Profile

Another Chance To Win a TShirt: What Are The Major Milestones in Java Persistence?

07.02.2010
| 4754 views |
  • submit to reddit

Yesterday I asked who were your choices as the heroes of Java persistence. Today I have a similar question to ask: what have the key milestones been in the history of Java persistence. 

For me the most important milestones are: 

  • The initial development of Java as a language
  • The introduction of JDBC
  • The rise of easy to use frameworks like Hibernate and Spring.
  • The popularity of the NoSQL approach

I'm sure some of you have some more detailed comments to make on these key milestone. Once again, all insightful comments will receive a free DZone tshirt, and a copy of that JDBC poster that we're working on. 

 

Comments

Nicolas Frankel replied on Fri, 2010/07/02 - 5:24am

IMHO,

I would add:

  • JDO/EJB v1 as the first true attempt(s) to integrate have an object-oriented approach as a standard (even if it didn't work out)
  • JPA, the realization of the standard (more successful)
I would also remove NoSQL since apart from very specific use-cases, I have not see impacts on the way people think about persistence (such as what Hibernate did)

Josh Marotti replied on Fri, 2010/07/02 - 2:33pm

The Intro the JDBC without question.  It setup the ability to truly allow the DAO code to be uncoupled from the specific DB vendor.  No more needing to use an oracle specific connection or db2 specific clob.  JDBC turned off vendor lock.

Granted, there were still vendor specific query grammar and such, but I'd say 90% of those could be avoided for something more generic.

Stuart Merrell replied on Fri, 2010/07/02 - 4:08pm

The key milestones in the history of Java Persistence are (assuming that Java has already been invented, since its Java Persistence):

  1. Persisting relational data manually with JDBC, and all the various vendor-specific drivers that it required.
  2. The creation of the java.io package and the Serializable interface, which allowed objects to be passed between JVMs
  3. The creation of EJB Entity Beans -- (still not perfect Object Relational Mapping but a step in the right direction)
  4. The concept of Entity Manager and EMFactory, utilizing Gamma/Booch/et al. Design Patterns, and the Hibernate ORM brought some level of abstraction to Java Persistence.
  5. The revolution of the javax.persistence package with the JPA classes which finally brings simplicity to the Model piece of MVC architecture!

John J. Franey replied on Fri, 2010/07/02 - 6:01pm

I think the complexity and perforamnce of container managed beans in ejb 2 are primarily responsible for JPA.

Neil Stockton replied on Sun, 2010/07/04 - 3:17am

Release of the JDO2 specification in 2006.

  • The ORM part of that spec still provides many many things I'd like to see in the JPA spec, but am still waiting for (who knows how long that wait will continue).
  • Of equal importance was that it addressed persistence to other types of datastore, because we all know that RDBMS is not the sole point of interest here.

Simply way ahead of its time

Upendra Chintala replied on Sat, 2010/07/03 - 4:46am

In my view, Java Persitence doesn't only mean ORM.

Java Persistence also mean serializing an object. This is achieved through the serialization API. Later on this provided the base for trasmitting the serialized data over network. This fecility allowed the creators to think of an API to communicate with database, and that lead to JDBC Spec.

 

Thus, the following are the Major milestones in the Java Persistence.

1. The Serialization API

2. Socket communication

3. JDBC Introduction and (Distributed)Transaction Management Support thorugh JTA and JTS.

4. Different Types of Drivers(From Type1 to Type4) invention

5.  And EJB Spec.

6. DAO Design Patterns

7. ORM Frameworks popularity

8. JPA Spec

and etc

 

Cloves Almeida replied on Thu, 2010/07/08 - 8:22pm

If we take serialization into account, we shouldn't forget the XML revolution of the early 2000's. Remember when you had to parse/dump those undocumented binary blobs or fixed-length text files in order to work with documents or exchange data with 3rd parties? Argh!

Tire Works replied on Thu, 2011/08/04 - 9:23am

The Java EE 5 platform maintains all the functional richness of the previous version, J2EE 1.4. The Java Persistence API deals with the way relational data is mapped to Java objects ("persistent entities"), the way that these objects are stored in a relational database so that they can be accessed at a later time, and the continued existence of an entity's state even after the application that uses it ends. -Tire Works

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.