EJB查询语言(EQL)与Hibernate查询语言(HQL)相同吗?EJB查询语言与HQL
我正在阅读Bill Burke编写的名为Enterprise Java Beans 3.0的书,它将它称为EQL。
它们实际上是一样的东西,只有一个用于EJB,一个用于Hibernate?
谢谢
EJB查询语言(EQL)与Hibernate查询语言(HQL)相同吗?EJB查询语言与HQL
我正在阅读Bill Burke编写的名为Enterprise Java Beans 3.0的书,它将它称为EQL。
它们实际上是一样的东西,只有一个用于EJB,一个用于Hibernate?
谢谢
EJB查询语言是为JPA实现(也称为JPQL)构建的标准查询语言,如果您使用的ORM符合JPA,那么将支持该查询语言,因此其背后的想法是你应该能够改变你的JPA实现而不必改变你的查询。
另一方面,HQL是hibernate特有的,如果你不使用hibernate作为JPA实现,那么可能你的查询不会工作。
HQL是EQL(或JPQL)的超集。它包含额外的功能和构造,但它们基本相同。还有一些HQL尚未实现的JPQL功能。
Hibernate是一家经过认证的JPA提供商。因此,它通过了TCK,其中测试了供应商对JPQL解析/处理的遵从性。那么Hibernate在JPQL中不支持什么? –
@SteveEbersole:例如,请参阅https://hibernate.onjira.com/browse/HHH-5396。 –