加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 为什么在Hibernate 5中不推荐使用标准查询?

发布时间:2020-12-14 16:27:01 所属栏目:Java 来源:网络整理
导读:正如我们已经知道的那样,Hibernate 5中的标准查询已被弃用.在以前的Hibernate版本中,这是一个非常有用的功能.它仍然比HQL表现更好. 那么它在Hibernate 5中被弃用的原因是什么呢? 而且这个问题不是this question的重复,因为我想知道标准查询的弃用原因. 这是
正如我们已经知道的那样,Hibernate 5中的标准查询已被弃用.在以前的Hibernate版本中,这是一个非常有用的功能.它仍然比HQL表现更好.

那么它在Hibernate 5中被弃用的原因是什么呢?

而且这个问题不是this question的重复,因为我想知道标准查询的弃用原因.

这是从here.

Hibernate offers an older,legacy org.hibernate.Criteria API which
should be considered deprecated. No feature development will target
those APIs. Eventually,Hibernate-specific criteria features will be
ported as extensions to the JPA
javax.persistence.criteria.CriteriaQuery. For details on the
org.hibernate.Criteria API,see Legacy Hibernate Criteria Queries.

解决方法

我们不赞成使用Criteria API代替JPA扩展支持.

考虑这个:

CriteriaBuilder cb = entityManager.getCriteriaBuilder();
HibernateCriteria hc = cb.unwrap( HibernateCriteria.class );
...
query.where( hc.someAwesomeThing( ... ) );
List<SomeEntity> entities = entityManager.createQuery( query ).getResultList();

与意见相反,我们打算继续提供Hibernate特定的功能,但是我们希望通过标准API来介绍这些功能,而不是尝试管理保持两个非常不同的同步的互补API.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读