title: Any drawbacks of using Hibernate EntityManager (vs. Hibernate Core)?
body: <p>The Hibernate EntityManager documentation <a href="http://docs.jboss.org/hibernate/stable/entitymanager/reference/en/html/pr01.html" rel="noreferrer">states</a>, that:</p>
  
  <blockquote>
    <p>You may use a combination of all three together, annotations without JPA
      programming interfaces and lifecycle, or even pure native Hibernate Core,
      depending on the business and technical needs of your project. You can at
      all times fall back to Hibernate native APIs, or if required, even to
      native JDBC and SQL.</p>
  </blockquote>
  
  <p>Code that uses the JPA API (EntityManager) is clearly more portable (even with occasional fallbacks to Hibernate Core). </p>
  
  <p>But would I have any advantages when using purely Hibernate Core? I wonder, if the JPA 2 model really fits on top of Hibernate Core without any contradictions? IOW, is a fallback to Core always easy and without problems?</p>
  
  <p><strong>My main concern is this:</strong></p>
  
  <p>Maybe the differences are not only in the API, but also in the underlying <strong>semantics</strong>?! (e. g. different transaction/versioning/locking semantics that may conflict: Pessimistic locking is mentioned in the Core documentation, but not in the EntityManager documentation - so could I still use pessimistic locking by falling back to Core without causing problems? Things like that...)</p>