title: Whats the difference between JPA and JDO specifications?
body: <p>I have been using Hibernate ORM, which is an implementation of the <a href="http://en.wikipedia.org/wiki/Java_Persistence_API" rel="noreferrer">JPA</a> specification to manage relational data. I have also heard of the <a href="http://en.wikipedia.org/wiki/Java_Data_Objects" rel="noreferrer">JDO</a> specification that supposed to do the same (manage relational data).</p>
  
  <p><strong>What are the fundamental differences between the two?</strong> Any code samples most appreciated. How does <a href="http://en.wikipedia.org/wiki/Java_Data_Objects" rel="noreferrer">JDO</a> integrate with other Java technology stacks e.g. <a href="http://jcp.org/en/jsr/detail?id=318" rel="noreferrer">EJB3</a>?</p>