[hibernate-issues] [Hibernate-JIRA] Commented: (EJB-273) refresh() throws entity not managed exception

Charl Fourie (JIRA) noreply at atlassian.com
Thu Sep 6 03:26:14 EDT 2007


    [ http://opensource.atlassian.com/projects/hibernate/browse/EJB-273?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_28021 ] 

Charl Fourie commented on EJB-273:
----------------------------------

I do not understand.  We have to put hacks into our code because of some spec?  I assume you are talking about the EJB3 spec? I also see this behaviour in other methods, and doing a merge before doing for example a "remove" effectively nullifies optimistic concurrency.

> refresh() throws entity not managed exception
> ---------------------------------------------
>
>                 Key: EJB-273
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/EJB-273
>             Project: Hibernate Entity Manager
>          Issue Type: Bug
>          Components: EntityManager
>    Affects Versions: 3.2.1
>            Reporter: Charles Canning
>            Priority: Critical
>
> When you call EntityManager.refresh() to reattach an entity to the entitymanager, it throws:
> java.lang.IllegalArgumentException: Entity not managed 
>    at org.hibernate.ejb.AbstractEntityManagerImpl.refresh(AbstractEntityManagerImpl.java:260) 
> The code is:
> public void refresh(Object entity) { 
>     checkTransactionNeeded(); 
>     //adjustFlushMode(); 
>     try {
>         if ( ! getSession().contains( entity ) ) { 
>             throw new IllegalArgumentException( "Entity not managed" ); 
>         } 
>         getSession().refresh( entity ); 
>     } 
>     catch (MappingException e) { 
>         throw new IllegalArgumentException( e.getMessage(), e ); 
>     } 
>     catch (HibernateException he) { 
>         throwPersistenceException( he ); 
>     } 
> } 
> It is checking if the object is already in the session - this will not allow me to reattach. If I "cast" the EM to the session delegate, refresh works fine because it doesn't contain this check.
> For more info, you can look at this forum topic :
> http://forum.hibernate.org/viewtopic.php?t=971661&start=0&postdays=0&postorder=asc&highlight=

-- 
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