Note that there are some explanatory texts on larger screens.

plurals
  1. POHibernate 4/Spring 3.2 NonUniqueObjectException
    primarykey
    data
    text
    <p>Okay, i am very very <em>very</em> new to Hibernate/Spring. I had to upgrade existing code from Hibernate 2 - Hibernate 4 and Spring 1 - Spring 3.</p> <p>I keep getting this exception when trying to call saveOrUpdate when passing more than one message to the database (it works fine when I only send one message):</p> <pre><code> org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session at org.hibernate.engine.internal.StatefulPersistenceContext.checkUniqueness(StatefulPersistenceContext.java:686) at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.performUpdate(DefaultSaveOrUpdateEventListener.java:293) at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsDetached(DefaultSaveOrUpdateEventListener.java:239) at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:109) at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:90) at org.hibernate.internal.SessionImpl.fireSaveOrUpdate(SessionImpl.java:728) at org.hibernate.internal.SessionImpl.saveOrUpdate(SessionImpl.java:720) at org.hibernate.engine.spi.CascadingAction$5.cascade(CascadingAction.java:258) at org.hibernate.engine.internal.Cascade.cascadeToOne(Cascade.java:380) at org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java:323) at org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:208) at org.hibernate.engine.internal.Cascade.cascade(Cascade.java:165) at org.hibernate.event.internal.AbstractSaveEventListener.cascadeBeforeSave(AbstractSaveEventListener.java:423) at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:264) at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:193) at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:136) at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:204) at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:189) at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:114) at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:90) at org.hibernate.internal.SessionImpl.fireSaveOrUpdate(SessionImpl.java:728) at org.hibernate.internal.SessionImpl.saveOrUpdate(SessionImpl.java:720) at org.hibernate.internal.SessionImpl.saveOrUpdate(SessionImpl.java:716) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.hibernate.context.internal.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:352) at $Proxy9.saveOrUpdate(Unknown Source) </code></pre> <p>I have googled till I am blue in the face! I have tried to use merge(). This does not give the exception, but merge inserts NULL values into the Database. </p> <p>I have tried to use evict(), flush(), same error.</p> <p>This is the method that causes the error:</p> <pre><code>public void saveOrUpdate(Object obj) { Session session = null; SessionFactory sf = getSessionFactory(); try { try { session = sf.getCurrentSession(); } catch (Exception e) { session = sf.openSession(); } System.out.println("Object: " + obj); session.beginTransaction(); session.saveOrUpdate(obj); session.getTransaction().commit(); System.out.println("DONE"); } catch (Exception e) { e.printStackTrace(); } } </code></pre> <p>Any help would be greatly appreciated!</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload