While the entities are all within the same navigation and request, you may get 
different entities due to entity manager flushes when queries are run.

When you execute a query, it can flush the entity manager therefore 
invalidating the entity manager entity cache.

For example :


  |   MyClass a = entityManager.find(MyClass.class,id);
  |   MyList = entityManager.createQuery("...").getResultList();
  |   MyClass b = entityManager.find(MyClass.class,id);
  | 

Here, I believe 'a' and  'b' would be different objects representing the same 
entity with the same id because the query caused a flush which invalidated the 
cache and caused the entity manager to create and load a new instance of the 
entity. 

What you could try, to diagnose the problem a bit is adding : 


  |   entityManager.save(a);
  |   entityManager.save(b);
  | 

If one of them is a stale detached object, then the entity manager will 
complain. 



View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4109597#4109597

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4109597
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to