I have been using Hibernate ORM, which is an implementation of the JPA specification to manage relational data. I have also heard of the JDO specification that supposed to do the same (manage relational data).
What are the fundamental differences between the two? Any code samples most appreciated. How does JDO integrate with other Java technology stacks e.g. EJB3?