2012-05-30 4 views
1

EJB 쿼리 언어 (EQL)는 HQL (Hibernate Query Language)과 동일합니까?EJB 쿼리 언어 대 HQL

필자는 Bill Burke의 Enterprise Java Beans 3.0이라는 책을 읽었으며 EQL이라고합니다.

실제로 EJB와 Hibernate에 대해 동일한 것입니까?

답변

2

EJB 쿼리 언어는 JPA 구현 (JPQL이라고도 함)에서 사용하도록 작성된 표준 쿼리 언어로, 사용하는 ORM이 JPA와 호환되는 경우 해당 쿼리 언어가 지원되므로 배후의 아이디어 쿼리를 변경하지 않고도 JPA 구현을 변경할 수 있어야한다는 것입니다.

반면에 HQL은 최대 절전 모드이며 JPA 구현으로 최대 절전 모드를 사용하지 않으면 아마도 쿼리가 작동하지 않을 것입니다.

2

HQL은 EQL (또는 JPQL)의 상위 집합입니다, 감사합니다. 추가 기능과 구문을 포함하지만 기본적으로 동일합니다. Hibernate가 아직 구현하지 않은 JPQL의 일부 기능이 있습니다.

+0

Hibernate는 인증 된 JPA 공급자입니다. 따라서 다른 것들 중에서 테스트하는 TCK를 전달하여 공급자가 JPQL 구문 분석/처리를 준수하는지 확인합니다. 그렇다면 JPibert에서는 Hibernate가 지원하지 않는 것은 무엇입니까? –

+0

@SteveEbersole : 예를 들어 https://hibernate.onjira.com/browse/HHH-5396을 참조하십시오. –