Can not refresh not managed object
java, jpa
Solution
You're probably using a different EntityManager to refresh your entities than the one which loads the entities from the database. The entities are not managed in the new EntityManager. According to the javadoc, the exception is the normal behaviour for not managed entities. Either use the same EntityManager, or use merge() to make your objects managed
Problem
I've to refresh a list of `Eleve` from the database to a Jtable. The `Jtable` it's self is bound to an observable `list< Eleve >`, so any add/delete to the list is automatically updated in the `Jtable`. My code explain it's self: ``` EleveJpaController ejc = new EleveJpaController(emf); java.util.Collection<Eleve> data = ejc.findEleveByNiveauClasseNomPrenom(niv, classe, nom, prenom); for (Eleve entity : data) { entityManager.refresh(entity); } list.clear(); list.addAll(data); ``` List< Eleve > findEleveByNiveauClasseNomPrenom(a,v,x,n): ``` public List<Eleve> findEleveByNiveauClasseNomPrenom(String niv,String classe,String nom, String prenom) { EntityManager em = getEntityManager(); Query qr= em.createQuery("SELECT e FROM Eleve e WHERE e.niv.niv like '%"+niv+"%' and e.class1.libelle like '%"+classe+"%' and e.nom like '%"+nom+"%' and e.prenom like '%"+prenom+"%'"); return qr.getResultList(); } ``` As you can see, It's well manged list of `Eleve` objects.. So why this exception is thrown ? ``` [EL Info]: 2013-12-02 13:25:33.312--ServerSession(1903253526)--EclipseLink, version: Eclipse Persistence Services - 2.3.0.v20110604-r9504 [EL Info]: 2013-12-02 13:25:35.005--ServerSession(1903253526)--file:/C:/Users/marwen/Documents/NetBeansProjects/JocondeFinale/build/classes/_JocondeFinalePU login successful Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Can not refresh not managed object: entities.Eleve[ idEleve=7 ]. at org.eclipse.persistence.internal.jpa.EntityManagerImpl.refresh(EntityManagerImpl.java:943) at org.eclipse.persistence.internal.jpa.EntityManagerImpl.refresh(EntityManagerImpl.java:849) at entities.GestionPaiement.niveauJcbbxItemStateChanged(GestionPaiement.java:736) at entities.GestionPaiement.access$2000(GestionPaiement.java:32) at entities.GestionPaiement$FormListener.itemStateChanged(GestionPaiement.java:607) at javax.swing.JComboBox.fireItemStateChanged(JComboBox.java:1225) at javax.swing.JComboBox.selectedItemChanged(JComboBox.java:1273) at javax.swing.JComboBox.contentsChanged(JComboBox.java:1329) at javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.java:118) at javax.swing.DefaultComboBoxModel.setSelectedItem(DefaultComboBoxModel.java:94) at javax.swing.JComboBox.setSelectedItem(JComboBox.java:578) at javax.swing.JComboBox.setSelectedIndex(JComboBox.java:624) at javax.swing.plaf.basic.BasicComboPopup$Handler.mouseReleased(BasicComboPopup.java:835) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290) at java.awt.Component.processMouseEvent(Component.java:6505) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at javax.swing.plaf.basic.BasicComboPopup$1.processMouseEvent(BasicComboPopup.java:499) at java.awt.Component.processEvent(Component.java:6270) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2719) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735) at java.awt.EventQueue.access$200(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:694) at java.awt.EventQueue$3.run(EventQueue.java:692) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue$4.run(EventQueue.java:708) at java.awt.EventQueue$4.run(EventQueue.java:706) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:705) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91) ``` Cheers.