Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert criteria to detached criteria

This question is titled similar to this one, but it's no duplicate as the other OP actually wanted something else (anyway, there's no answer to my question there). What I want is to recycle my already constructed Criteria in Subqueries.exists(DetachedCriteria).

I know that Criteria is basically DetachedCriteria with an attached Session, so I'd expect something like Criteria#toDetached() or a factory method on the other side, but I can't find anything.

like image 676
maaartinus Avatar asked Sep 14 '16 17:09

maaartinus


2 Answers

As per OP , it helped him to solve his problem.

One of the way could be the one given in NHibernate: Convert an ICriteria to a DetachedCriteria Thats for Nhibernate, but same can done in Hibernate Also.

like image 90
Deendayal Garg Avatar answered Sep 27 '22 20:09

Deendayal Garg


Trivially rewritten in Java:

public class MyDetachedCriteria extends DetachedCriteria {
    public OcDetachedCriteria(Criteria criteria) {
        super((CriteriaImpl) criteria, criteria);
        ((CriteriaImpl) criteria).setSession(null);
    }
}
like image 42
maaartinus Avatar answered Sep 27 '22 21:09

maaartinus