![](/img/trans.png)
[英]Hibernate's legacy org.hibernate.Criteria API is deprecated
[英]Hibernate 3 - 5 Migration. Org.hibernate.Criteria: Changing createCriteria(String association, String alias) to standard JPA using CriteriaBuilder
所以我有这个 Hibernate Criteria 代码,我想使用 JPA 进行更改,我已经对下面引用的它进行了更改,但我似乎无法找到替代方法来使用 detCrit.createCriteria(String association,字符串别名)使用 JPA 的 CriteriaBuilder。 如果有人知道替代解决方案,我将不胜感激。
\\\Initial Hibernate Criteria code
Criteria deCrit = currentSession().createCriteria(first.class, "firstbasic");
Criteria secondThemeCrit = detCrit.createCriteria("secondBasic","sc");
Criteria thirdThemeCrit = secondThemeCrit.createCriteria("thirdBasic");
\\\Partially changed code with JPA
CriteriaBuilder builder = Session.getCriteriaBuilder();
CriteriaQuery<First> deCrit = builder.createQuery(First.class);
Root<First> first = detCrit.from(First.class);
first.alias("firstbasic");
我不知道您之后如何使用此代码,但我假设在子查询中? 如果是这样,您可以将子查询中的根与相关对象上的 just call join 相关联,这应该导致相同的结果:
CriteriaBuilder builder = Session.getCriteriaBuilder();
CriteriaQuery<First> deCrit = builder.createQuery(First.class);
Root<First> first = detCrit.from(First.class);
Subquery<Integer> subquery = deCrit.subquery(Integer.class);
Root<First> correlatedFirst = subquery.correlate(first);
Join<First, Second> second = correlatedFirst.join("second");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.