是否Hibernate Criteria API已弃用,如果是,我们应该使用哪种API?

时间:2015-07-03 07:17:46

标签: hibernate hibernate-criteria

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

1 个答案:

答案 0 :(得分:8)

AFAIK,在关注Javadocs之后,不推荐使用Hibernate Criteria API。但是,使用JPA而不是hibernate有一个很好的理由,因为这意味着您可以在不必修改代码的情况下在持久性提供程序之间切换。就像你使用Hibernate Criteria API一样,那么你的代码完全与Hibernate绑定。

2016年6月6日更新

来自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!