diff --git a/spring-hibernate4/src/main/java/org/baeldung/spring/persistence/dao/common/AbstractHibernateDao.java b/spring-hibernate4/src/main/java/org/baeldung/spring/persistence/dao/common/AbstractHibernateDao.java index cf293231ab..3476b8cadc 100644 --- a/spring-hibernate4/src/main/java/org/baeldung/spring/persistence/dao/common/AbstractHibernateDao.java +++ b/spring-hibernate4/src/main/java/org/baeldung/spring/persistence/dao/common/AbstractHibernateDao.java @@ -35,7 +35,8 @@ public abstract class AbstractHibernateDao implements IO @Override public final void create(final T entity) { Preconditions.checkNotNull(entity); - getCurrentSession().persist(entity); + // getCurrentSession().persist(entity); + getCurrentSession().saveOrUpdate(entity); } @Override diff --git a/spring-hibernate4/src/main/java/org/baeldung/spring/persistence/model/Child.java b/spring-hibernate4/src/main/java/org/baeldung/spring/persistence/model/Child.java index 8589a2f497..978502242c 100644 --- a/spring-hibernate4/src/main/java/org/baeldung/spring/persistence/model/Child.java +++ b/spring-hibernate4/src/main/java/org/baeldung/spring/persistence/model/Child.java @@ -44,7 +44,7 @@ public class Child implements Serializable { @Override public String toString() { final StringBuilder builder = new StringBuilder(); - builder.append("Child [id=").append(id).append(", parent=").append(parent).append("]"); + builder.append("Child [id=").append(id).append("]"); return builder.toString(); } diff --git a/spring-hibernate4/src/main/java/org/baeldung/spring/persistence/model/Parent.java b/spring-hibernate4/src/main/java/org/baeldung/spring/persistence/model/Parent.java index 4fd7af6b09..875b56df34 100644 --- a/spring-hibernate4/src/main/java/org/baeldung/spring/persistence/model/Parent.java +++ b/spring-hibernate4/src/main/java/org/baeldung/spring/persistence/model/Parent.java @@ -53,7 +53,7 @@ public class Parent implements Serializable { @Override public String toString() { final StringBuilder builder = new StringBuilder(); - builder.append("Parent [id=").append(id).append(", child=").append(child).append("]"); + builder.append("Parent [id=").append(id).append("]"); return builder.toString(); } diff --git a/spring-hibernate4/src/test/java/org/baeldung/spring/persistence/service/FooServicePersistenceIntegrationTest.java b/spring-hibernate4/src/test/java/org/baeldung/spring/persistence/service/FooServicePersistenceIntegrationTest.java index d35440bf15..69d094f5d8 100644 --- a/spring-hibernate4/src/test/java/org/baeldung/spring/persistence/service/FooServicePersistenceIntegrationTest.java +++ b/spring-hibernate4/src/test/java/org/baeldung/spring/persistence/service/FooServicePersistenceIntegrationTest.java @@ -44,6 +44,7 @@ public class FooServicePersistenceIntegrationTest { } @Test(expected = InvalidDataAccessApiUsageException.class) + @Ignore("Right now, persist has saveOrUpdate semantics, so this will no longer fail") public final void whenSameEntityIsCreatedTwice_thenDataException() { final Foo entity = new Foo(randomAlphabetic(8)); service.create(entity); diff --git a/spring-hibernate4/src/test/java/org/baeldung/spring/persistence/service/ParentServicePersistenceIntegrationTest.java b/spring-hibernate4/src/test/java/org/baeldung/spring/persistence/service/ParentServicePersistenceIntegrationTest.java index 126066a941..27338a6c4d 100644 --- a/spring-hibernate4/src/test/java/org/baeldung/spring/persistence/service/ParentServicePersistenceIntegrationTest.java +++ b/spring-hibernate4/src/test/java/org/baeldung/spring/persistence/service/ParentServicePersistenceIntegrationTest.java @@ -3,6 +3,7 @@ package org.baeldung.spring.persistence.service; import org.baeldung.spring.persistence.config.PersistenceConfig; import org.baeldung.spring.persistence.model.Child; import org.baeldung.spring.persistence.model.Parent; +import org.hibernate.SessionFactory; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -20,6 +21,9 @@ public class ParentServicePersistenceIntegrationTest { @Autowired private IChildService childService; + @Autowired + private SessionFactory sessionFactory; + // tests @Test