1

EJB 查询语言 (EQL) 是否与 Hibernate 查询语言 (HQL) 相同?

我正在阅读 Bill Burke 的名为 Enterprise Java Beans 3.0 的书,它把它称为 EQL。

它们实际上是一样的吗,只有一个用于 EJB,一个用于 Hibernate?

谢谢,

4

2 回答 2

2

HQL 是 EQL(或 JPQL)的超集。它包含其他功能和构造,但它们基本相同。Hibernate 还没有实现 JPQL 的一些特性。

于 2012-05-30T14:38:58.957 回答
2

EJB 查询语言是为 JPA 实现(也称为 JPQL)而构建的标准查询语言,如果您使用的 ORM 符合 JPA,那么将支持该查询语言,因此其背后的想法是您应该能够更改您的 JPA 实现,而无需更改您的查询。

另一方面,HQL 是特定于休眠的,如果您不使用休眠作为 JPA 实现,那么您的查询可能无法正常工作。

于 2012-05-30T14:49:44.987 回答