October 2nd GatewayJUG meeting - Topic will be Hibernate EclipseLink

7 views
Skip to first unread message

bachdot

unread,
Sep 26, 2012, 11:00:13 AM9/26/12
to gatew...@googlegroups.com
Come for the Gateway Java User Group meeting....stay for the Groovy/Grails meeting (their topic will be Using the Grails JPA plugin. 

GatewayJUG meeting topic:

It is said that when a reporter asked Albert Einstein for his campus phone number in case of follow-up questions, Professor Einstein reached for the university phone book to look it up. Seeing the reporter's astonishment that he, the world's foremost genius, didn't even know his own phone number, Einstein advised the reporter,

"Never memorize something that you can look up."

And so it is with persistence. We don't keep everything in memory. Instead, we "write it down" in the database so we can look it up at any later date. (Maybe we will keep our database in memory one day because it's so darn fast to do so!)

The problem is, in object-oriented languages we think in terms of objects and their attributes, but in SQL databases, we must think in terms of tables and rows and columns. The impedance mismatch between the O-O world and the SQL world is the problem domain of Object-Relational Mapping (ORM) tools and APIs like Hibernate, TopLink / EclipseLink and now the official JEE standard, the Java Persistence API (JPA).

In this talk, we'll cover:

  • A brief overview of ORM
  • How to setup and configure JPA
  • Essential JPA terminology and concepts
  • Basic object mappings and CRUD operations
  • Mapping object associations
  • Querying in JPA
  • Using JPA with web apps, Spring, JEE and in standalone apps

I'll be using Hibernate as the JPA Provider since it's probably the most widely used, but know that any compliant JPA Provider will do.

We'll have plenty of demos, so when you leave you should have a good idea of how to configure and use JPA back at your shop. So come on out and see how easy it is to use JPA to help remember what needs remembering in the database!

Be sure to RSVP so we can plan enough food and drink.

(Plan on staying for the Gateway Groovy User Group to learn more about web testing! This month's topic: Using the JPA Plugin in Grails.)

Speaker: Jack Frosch
Sponsor: Advanced Resources

Jack Frosch

unread,
Sep 27, 2012, 1:53:15 PM9/27/12
to gatew...@googlegroups.com
One minor correction to our earlier announcement ... the topic will be "Introduction to Java Persistence API (JPA) v2"

I will use Hibernate as the JPA Provider (though EclipseLink would work also), but the talk isn't specifically about Hibernate or EclipseLink.

So RSVP and come on out to learn just how easy persistence is with JPA!

--
jack frosch

Jack Frosch

unread,
Oct 3, 2012, 11:24:34 AM10/3/12
to gatew...@googlegroups.com
Thanks to all of you who attended last night's meeting on JPA.

A question was asked last night about the vulnerability of JPA QL (aka JPQL) to SQL Injection attacks. I answered that building a query string dynamically (i.e. using String concatenation) would leave you vulnerable to SQL injection attacks, but criteria queries (new in JPA 2) and parameterized queries have built-in protections against such attacks.

This morning I wanted to double check my answer and found Carol McDonald did a nice blog posting on this topic, and included some specific JPA 2 points. You can find it at: https://blogs.oracle.com/carolmcdonald/entry/owasp_top_10_number_2

--
Jack
Reply all
Reply to author
Forward
0 new messages