pm.currentTransaction().commit();
pm.currentTransaction().begin();
Query q = pm.newQuery(Sensor.class);
q.setFilter("((area.rooms.contains(r)) && (r.roomid == rid) && (states.contains(s)) && (s.stateid == sid))");
q.declareVariables("Room r; StateItf s");
q.declareParameters("int sid, int rid");
Collection c = (Collection) q.execute(new Integer(102), new Integer(103));
pm.currentTransaction().commit();
autoClean(pm, classes);