Skip to main content

Spotlight on Java Persistence 2.0, with Linda DeMichiel

Posted by editor on March 22, 2010 at 8:17 AM PDT

This week's Spotlight is GlassFish Podcast Episode #051 - Java Persistence 2.0 (JPA) by Linda DeMichiel. You'll probably want to download the GlassFish Virtual Conference Slides (Sun Online Account registration is required) and open up Session7Java_Persistence_2_0.pdf -- these are the slides Linda DeMichiel presented in the GlassFish Virtual Conference, which took place on December 15, 2009. The GlassFish Podcast Episode 51 audio follows this set of slides. My guess is that Linda's part in the podcast was actually recorded at the GlassFish Virtual Conference.

Linda begins with an historical presentation of the evolution of Java persistence, starting with its origins within EJB 3.0, the emergence of JPA 1.0, and now Java Persistence 2.0 (JSR 317). Something I didn't know previously: the reference implementation for JPA 2.0 is EclipseLink, the Eclipse Persistence Services Project. EclipseLink is integrated into GlassFish v3.

Linda presents and briefly discusses several examples, including Collections, Embeddables, Maps, and automatic orphan deletion; then covers enhancements to the Java Persistence Query Language (with examples). Linda says the Criteria API is probably the largest single enhancement in JPA 2.0, and she spends time going over some of the key features of the API, for example CriteriaBuilder and CriteriaQuery. After covering pessimistic locking, locking APIs, and validation, Linda wraps up with a summary of new features in JPA 2.0, and a list of resources.

The 34-slide presentation and 26-minute podcast go into JPA 2.0, the reasoning behind its design, and specific changes and enhancements that are in JPA 2.0, in quite a lot of detail. So, if you've been wondering about JPA 2.0, GlassFish Podcast Episode #051 - Java Persistence 2.0 (JPA) by Linda DeMichiel and the associated GlassFish Virtual Conference Slides (Session7Java_Persistence_2_0.pdf) provide a great introduction.

In Java Today, the sip-communicator project has been accepted for Google Summer of Code 2010:

Google have just published the list of organizations accepted for
participation in Summer of Code 2010 and … SIP Communicator is among the lucky ones! :) Looks like we’ll once again be having a very exciting summer! If you’d like to join us and work on a SIP Communicator project (rather than working in the local gas station ;) ), have a look at our project ideas. Among the many projects there are also a couple that we will be running in collaboration with the Kamailio (OpenSER) and SEMS open source projects...

Arun Gupta presents his Spark IT 2010 Trip Report:

Spark IT 2010 - the inaugural conference by CIOL and PCQuest (@pcquest) wrapped up earlier today. With 1000+ attendees, 3 session tracks, and 1 hands-on lab running simultaneously, there was a lot for the attendees to consume....

Geertjan Wielenga introduces NetBeans Platform Development in JavaFX!:

The NetBeans team is busy enabling NetBeans Platform developers to integrate JavaFX components into their applications. Since there is no official way of accessing JavaFX from Swing, the NetBeans team will provide open-sourced API equivalents of JavaFX components. Developers will be able to include the Open API JavaFX library in their NetBeans Platform applications. Currently, this is what the API looks like...

In the Weblogs, Kohsuke Kawaguchi shows us scenes from Hudson Hackathon Day 1:

Hudson Hackathon Day 1 is over, and I'm just back to the office. Total of 9 people came and we had a great time talking about infrastructure issues, possible enhancements, design dicussions, exchanging tips and plugins that they've developed, and otherwise building personal relationships. It was a beautiful day outside, and fortunately the meeting room had a lot of Sun lights to create a warm atmosphere....

Ed Burns outlines the New process for subscribing/unsubscribing to

My last blog entry about JSR-314-OPEN@JCP.ORG was over a year ago. This list is the official Expert Group (EG) mailing list on which the development of the JSR-314 specification (JSF 2.0) is discussed. The information on how to subscribe/unsubscribe to this list changed in June 2010, but I haven't updated any existing information or blogged any new information about it. This is the overdue blog entry! The new way to subscribe/unsubscribe to JSR-314-OPEN@JCP.ORG is to send mail to <>. To subscribe to the list in read-only mode make the subject of the email be "subscribe jsr-314-open"...

Mark Hadley describes Declarative HTTP Link Headers:

I've extended the declarative hyperlinking module to support the HTTP Link header. It works similarly to the @Link annotation I described earlier except you annotate the response entity class with @LinkHeader (or @LinkHeaders if you need more than one Link header) instead of annotating response entity fields with @Link. Here's a complete example that shows both annotations in action...

In the Forums, tcolakov asks How to make squawk + spolibs work together: Hi, I've this: -I have x86-64 wiht x86 libs, java 1.5 -I have working squawk-native environment -I have SunSpot SDK installed and working And I want: -I want to take spotlibs and transducer libs and put them...

In the GlassFish forum, healeyb finds that JSF 2.02-10 @SessionScoped annotation doesn't work: I'm using JSF from the Glassfish v3 distribution and found that I had a session scoped bean that was acting like a request scoped bean. When I replaced the @ManagedBean @SessionScoped annotations with a <managed> entry in the faces-config file...</managed>

In the LWUIT forum, scutbird asks how to get the content(strings) of the selected item in the tree?: how to get the content(strings) of the selected item in the tree? the predefined member function getSeclectedItem can not do the required work!

Our Spotlight this week is GlassFish Podcast Episode #051 - Java Persistence 2.0 (JPA) by Linda DeMichiel:

This GlassFish Podcast episode includes Supporting slides along with a downloadable MP3. Suggested additional reference materials are Java Persistence 2.0 (JSR 317), the Java EE 6 Tutorial, and the GlassFish v3 documentation.

This week's Poll lists several Java EE related statements, and asks Which Java EE statement do you agree with most? The poll will close on Friday.

Our latest Feature Article is Getting Started with Java and SQLite on Blackberry OS 5.0 by Java Champion Bruce Hopkins -- learn how to create applications that utilize SQLite on Blackberry OS 5.0. We're also featuring Dibyendu Roy's Rethinking Multi-Threaded Design Principles; in the emerging multicore/multiprocessor world, multi-threaded programming is critical, in my view. And in Has JDBC Kept up with Enterprise Requirements?, Jesse Davis invites us to look beyond Type 4 architecture to address the latest requirements of the enterprise Java ecosystem.

Current and upcoming Java Events:

Registered users can submit event listings for the Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.

Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of it will be archived along with other past issues in the Archive.

-- Kevin Farnham

O'Reilly Media
Twitter: @kevin_farnham