您的位置:首页 > 其它

Hibernate5.2版本之后 createCriteria()方法过时的替换方式

2017-12-24 15:08 1226 查看
1.由于session.createCriteria()已经过时然后看了下hibernate的例项找到了此种方法。

session.beginTransaction();

//注意导入的包是import javax.persistence.criteria.CriteriaQuery;

CriteriaQuery<Student> criteriaQuery = session.getCriteriaBuilder().createQuery(Student.class);

//criteriaQuery 对象可以添加各种查询条件和关联条件等等


criteriaQuery.from(Student.class);

List<Student> list = session.createQuery(criteriaQuery).getResultList();

官方文档给出了几句话:参考(https://stackoverflow.com/questions/38448195/why-is-criteria-query-deprecated-in-hibernate-5)

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.

我也不太懂然后用有道翻译下大致意思就是下面这样。

最终,Hibernate-specific标准特性将移植作为JPA javax.persistence.criteria.CriteriaQuery扩展。

关于org . hibernate的详细信息。Criteria API,查看遗留Hibernate Criteria查询。

可以说Criteria标准化查询差不多都转到使用Jpa包了

2.session.createSQLCriteria()方法也过时了,当然可以用session.createNativeCriteria()方法来代替。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hibernate5
相关文章推荐