title: What is a JPA implementation?
body: <p>I'm getting started with JPA, and I'm confused as to what exactly the JPA implementation(EclipseLink, TopLink, Hibernate, etc.) does.  </p>
  
  <p>I understand the theoretical role of JPA, but what is the purpose of the various implementations?  Are there significant differences between these choices, as there is with say, DB connectors/drivers?  Which is the best one for a beginner?</p>
  
  <p>I'll probably go with EclipseLink because that is what most of the literature I've read uses.</p>