将标准转换为分离标准

时间:2016-09-14 17:03:42

标签: java hibernate criteria

这个问题的标题类似于this one,但它没有重复,因为其他OP实际上想要其他东西(无论如何,我的问题没有答案)。我想要的是回收Criteria中已构建的Subqueries.exists(DetachedCriteria)

我知道Criteria基本上是DetachedCriteria且附加Session,所以我希望在另一边有Criteria#toDetached()或工厂方法,但我找不到任何东西。

2 个答案:

答案 0 :(得分:2)

根据OP,它帮助他解决了他的问题。

其中一种方法可能是NHibernate: Convert an ICriteria to a DetachedCriteria为Nhibernate提供的方式,但同样可以在Hibernate中完成。

答案 1 :(得分:2)

用Java简单地重写:

public class MyDetachedCriteria extends DetachedCriteria {
    public OcDetachedCriteria(Criteria criteria) {
        super((CriteriaImpl) criteria, criteria);
        ((CriteriaImpl) criteria).setSession(null);
    }
}