将条件转换为分离条件

Convert criteria to detached criteria

这个问题的标题与 this one 相似,但它不是重复的,因为另一个 OP 实际上想要别的东西(无论如何,那里没有我的问题的答案)。我想要的是在 Subqueries.exists(DetachedCriteria).

中回收我已经构建的 Criteria

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

按照 OP 的说法,它帮助他解决了他的问题。

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

在 Java 中简单重写:

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