title: Hibernate vs JPA vs JDO - pros and cons of each?
body: <p>I'm familiar with ORM as a concept, and I've even used nHibernate several years ago for a .NET project; however, I haven't kept up with the topic of ORM in Java and haven't had a chance to use any of these tools.</p>
  
  <p>But, now I may have the chance to begin to use some ORM tools for one of our applications, in an attempt to move away from a series of legacy web services.</p>
  
  <p>I'm having a hard time telling the difference betweeen the JPA spec, what you get with the Hibernate library itself, and what JDO has to offer.</p>
  
  <p>So, I understand that this question is a bit open-ended, but I was hoping to get some opinions on:</p>
  
  <ul>
  <li>What are the pros and cons of each?</li>
  <li>Which would you suggest for a new project?</li>
  <li>Are there certain conditions when it would make sense to use one framework vs the other?</li>
  </ul>