jpa - Is there a way to get all managed entities from an EntityManager -
i'm setting basic test data util , want keep track of data entitymanager handles. rather having bunch of lists each entity there way grab being managed entitymanager in 1 fell swoop?
so instead of this:
entitymanager em; list<entity1> a; list<entity2> b; ... list<entityn> n; cleanup() { for(entity1 e : a) em.remove(e); for(entity2 f : b) em.remove(f); ... for(entityn z : n) em.remove(z); }
i want this;
entitymanager em; cleanup() { list<object> allentities = em.getallmanagedentities(); //<-this doesnt exist for(object o : allentities) em.remove(o); }
not sure if possible, image manager knows managing? or, if have ideas of managing bunch of entities easily.
i think might help:
for (entitytype<?> entity : entitymanager.getmetamodel().getentities()) { final string classname = entity.getname(); log.debug("trying select * from: " + classname); query q = entitymanager.createquery("from " + classname + " c"); q.getresultlist().iterator(); log.debug("ok: " + classname); }
basically entitymanager::metamodel contains metadata information regarding entities managed.
Comments
Post a Comment