Hello!
I'm trying to find some way to delete rows from table that satisfies some criteria. But can't find how to do it without prior select. I use following method:
Code:
public int deleteAll(Class cls, Criterion criterion)
{
Criteria criteria = hibernateSession.createCriteria(cls);
criteria.add(criterion);
List list = criteria.list();
for (Object obj : list) {
hibernateSession.delete(obj);
}
return list.size();
}
But it is not the fastest method. I want hibernate to execute only delete statement. Somthing like this:
Code:
public int deleteAll(Class cls, Criterion criterion)
{
Criteria criteria = hibernateSession.createCriteria(cls);
criteria.add(criterion);
return criteria.delete();
}
But Criteria interface hasn't delete method.
Does anybody has met this problem?