Spring, Hibernate 및 Restlet을 사용하여 웹 서비스를 작성하기로 결정했습니다. 나는이 세 가지 기술에 익숙하지 않다. 내 질문은 : 어떻게 JPA의 EntityManager
또는 최대 절전 모드의 HibernateTemplate
을 사용할지 여부를 결정합니까? JPA의 EntityManager에 대한JPA EntityManager 또는 Spring을 사용하는 Hibernate의 HibernateTemplate
코드 : Hibernate의 HibernateTemplate에 대한
protected EntityManager entityManager;
@PersistenceContext
public void setEngityManager(EntityManager entityManger) {
this.entityManager = entityManager;
}
코드는 : 당신이 경우
private SessionFactory sessionFactory;
private HibernateTemplate hibernateTemplate;
@Autowired
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
this.hibernateTemplate = new HibernateTemplate(sessionFactory);
}
그러나 Hibernate API는 JPA가 제공하지 않는 몇 가지 기능을 제공한다고 들었습니다. 또한 HQL 대신 JPQL을 사용합니까? (오픈 소스 커뮤니티에서 HQL에 대한 더 큰 지원이있는 것으로 보입니다) 아니면 SQL을 사용합니까? – kasavbere
우리는 HQL 대신에 JPQL을 사용하고 있으며 지금까지 우리의 모든 유스 케이스를 다루고 있습니다. JPA 스펙에 상응하는 것이없는 Hibernate의 특정 기능이 필요하다면, 예외로서 EntityManager.getDelegate를 사용하여 SessionFactory를 가져올 수있다. 그러나 그러한 특정 요구 사항이 JPA 의미론 자체에 대한 해결책을 갖지 않을지는 의문이다 . – Vikdor