Hibernate 在 5 以后的版本中全面推进使用 JPA 的查询语法,甚至准备废弃掉自己已有的查询语法。
JPA 全称为 Java Persistence API ,Java 持久化API是Sun公司在java EE 5规范中提出的 Java 持久化接口。
JPA吸取了目前Java持久化技术的优点,旨在规范、简化Java对象的持久化工作。
使用JPA持久化对象,并不是依赖于某一个ORM框架。
换句话说就是 JPA 是一个技术规范,你可以使用各种框架来进行实现。
比如你可能听到最多的 Hibernate, OpenJPA,或者 EclipseLink 等都是 JPA 的实现。
根据数据访问的层次来说,我们如果使用 Hibernate 的话,通常我们需要写的代码都在数据访问层。
然后在数据访问层中编写查询代码。
这个查询代码可以使用 Hibernate Native API ,也可以使用 JPA。
在 Hibernate 5 及其后续版本中,你可能会看到下面的这个警告:
HHH90000022: Hibernate's legacy org.hibernate.Criteria API is deprecated; use the JPA javax.persistence.criteria.CriteriaQuery instead
上面警告的意思是 Hibernate 准备丢弃掉自己的 Hibernate Native API 查询 API 了。
在你的数据访问层的代码中,你需要采取 JPA 的写法了。
如果你对老的 Hibernate 版本进行升级的时候,你可能会遇到上面的问题,你需要重新调整不少的写法。
可以说 Hibernate 正在全面向 JPA 的写法靠拢。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。