[hibernate-issues] [Hibernate-JIRA] Closed: (EJB-303) Removing an entity and clearing the persistence context messes up FlushMode.AUTO
Max Rydahl Andersen (JIRA)
noreply at atlassian.com
Tue Jul 10 08:34:52 EDT 2007
[ http://opensource.atlassian.com/projects/hibernate/browse/EJB-303?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Max Rydahl Andersen closed EJB-303.
-----------------------------------
Resolution: Rejected
this is expected behavior. calling .clear() on an entitymanager removes any operation you have done!
> Removing an entity and clearing the persistence context messes up FlushMode.AUTO
> --------------------------------------------------------------------------------
>
> Key: EJB-303
> URL: http://opensource.atlassian.com/projects/hibernate/browse/EJB-303
> Project: Hibernate Entity Manager
> Issue Type: Bug
> Components: EntityManager
> Affects Versions: 3.3.0.ga
> Reporter: Geoffrey De Smet
> Priority: Critical
>
> Remove an entity, then EM.clear() before EM.flush() with FlushMode.AUTO makes next querty still contain the removed entity.
> Try something like this:
> public void delete(Person detachedPerson) {
> int oldSize = entityManager.createQuery("select x from Person person").getResultList().size();
> Person person = entityManager.merge(detachedPerson);
> entityManager.remove(person);
> entityManager.clear(); // causes the problem
> entityManager.flush(); // probably obsolete to prove this bug
> int newSize = entityManager.createQuery("select x from Person person").getResultList().size();
> assertEquals(newSize, oldSize - 1); // they turn out to be still the same size
> }
> Not doing entityManager.clear() fixes the problem, but because I am not using an extended peristence context and my testcases run in a rollback transaction, I need to clear the entityManger after every service call (so between the service call delete and the service call findAll).
> I looked through the JIRA's, but it didn't look like it's already posted.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list