2014-11-21 3 views
0

JPA와 관련하여 질문이 있습니다. 우리는 JPA 2.0을 위해 Hibernate를 사용하고 있으며 우리가 JPA를위한 API를 가져올 것이지만 Hibernate는 가져 오지 않을 때 어떤 CRUD 연산을 수행하기를 원할 때마다 JPA는 단지 스펙이고 구현이 아니기 때문에 메소드는 단지 JPA의 인터페이스이다. 우리가 entityManager.createQuery()를 호출 할 때 CRUD 연산이 작동합니다.이 호출은 구체적인 메소드가 아니라 추상 메소드입니다. 조금 혼란스러워 ... 응답은 높이 평가했다.JPA2.0을 사용하는 최대 절전 모드 구현

+0

나는 두 가지 대답 모두 귀하의 질문을 다루고 있다고 생각합니다. 따라서 하나를 선택하십시오. –

답변

0

EntityManager는 인터페이스이며 각 JPA 공급자는 인터페이스를 구현합니다. Hibernate EntityManager 구현은 모든 호출을 현재 실행중인 Session에 위임한다.

침전물 작업

는 EntityManager의 방법에 의해 백업됩니다 :

  • 제거 병합
  • 지속
  • 중요한 것은 JPA의 차이점이 무엇인지 이해하는 것입니다 createQuery
0

및 Hibernate뿐만 아니라 SessionFactory와 EntityManager의 차이점 (둘 다 framew에서 사용할 수 있음) ork "JPA/Hibernate"). 긴 이야기는 짧게 .. entityManager는 표준의 구현입니다, 나는 JPA를 의미합니다. sessionFactory에는 Hibernate의 많은 기능이 있습니다 (그리고 표준입니다).

EntityManager는 표준이므로 권장됩니다. 더 많은 정보를 원하시면 http://www.javabeat.net/jpa-entitymanager-vs-hibernate-sessionfactory/