hibernate - Hibernate Criteria API 是否已弃用?如果是,我们应该使用什么 API?

标签 hibernate hibernate-criteria

正如标题所说。它已被弃用吗?开发手册中说是这样,我们应该使用 JPA Criteria,但用户手册中没有提及这一点。

最佳答案

据我所知,查看 Javadocs,Hibernate Criteria API 并未被弃用。然而,使用 JPA 而不是 hibernate 有一个很好的论据,因为这意味着您可以在持久性提供程序之间切换,而无需修改代码。就好像您使用 Hibernate Criteria API,那么您的代码就完全绑定(bind)到 Hibernate。

更新 2016 年 6 月 7 日

来自Hibernate 5.2 documentation .

“本附录涵盖旧版 Hibernate org.hibernate.Criteria API,应将其视为已弃用。

新开发应重点关注 JPA javax.persistence.criteria.CriteriaQuery API。最终,特定于 Hibernate 的标准功能将作为 JPA javax.persistence.criteria.CriteriaQuery 的扩展进行移植。有关 JPA API 的详细信息,请参阅条件。”。

这意味着,Hibernate 标准是可用的,因为它并未正式 @Deprecated,但您应该改用 JPA!

关于hibernate - Hibernate Criteria API 是否已弃用?如果是,我们应该使用什么 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31200850/

相关文章:

java - Hibernate 不执行 UPDATE 查询

java - Hibernate @Proxy(lazy = false) 注解有什么作用?

Hibernate Criteria Query - 同时按两列排序

java - Hibernate 多对多标准投影

java - 如何覆盖继承类上的 hibernate JPA 过滤器?

java - 通过 hibernate 连接到MySQL

java - JPA OneToOneToOne 映射

hibernate - 从 Grails 中域对象的子属性列表创建对子属性的属性进行操作的条件限制

java - 删除实体@OneToMany @ManyToOne。键仍然从表中引用

unit-testing - 如何在不使用任何数据库的情况下测试 Hibernate 条件查询?