diff --git a/pom.xml b/pom.xml
index fb62e4974..a9053e054 100644
--- a/pom.xml
+++ b/pom.xml
@@ -136,9 +136,16 @@
junit
junit
- 4.8.2
+ 4.11
test
+
+
+ org.hamcrest
+ hamcrest-integration
+ 1.3
+ test
+
org.mockito
diff --git a/src/test/java/com/avaje/tests/persistencecontext/TestPersistenceContextOnUpdateDuringTxn.java b/src/test/java/com/avaje/tests/persistencecontext/TestPersistenceContextOnUpdateDuringTxn.java
new file mode 100644
index 000000000..059eaf089
--- /dev/null
+++ b/src/test/java/com/avaje/tests/persistencecontext/TestPersistenceContextOnUpdateDuringTxn.java
@@ -0,0 +1,44 @@
+package com.avaje.tests.persistencecontext;
+
+import org.junit.Test;
+import static org.hamcrest.Matchers.*;
+import static org.hamcrest.MatcherAssert.*;
+
+import com.avaje.ebean.BaseTestCase;
+import com.avaje.ebean.Ebean;
+import com.avaje.ebean.EbeanServer;
+import com.avaje.tests.model.basic.EBasic;
+
+public class TestPersistenceContextOnUpdateDuringTxn extends BaseTestCase {
+
+ @Test
+ public void test() {
+
+ EbeanServer server = Ebean.getServer(null);
+
+ server.beginTransaction();
+ try {
+
+ EBasic bean1 = new EBasic();
+ bean1.setName("hello");
+
+ server.save(bean1);
+
+ EBasic updatedEntity = new EBasic();
+ updatedEntity.setId(bean1.getId());
+ updatedEntity.setName("hello-changed");
+
+ server.update(updatedEntity);
+
+ // actually the bean is not in the persistence context so ... the assert is fine
+ EBasic loadedEntity = server.find(EBasic.class,bean1.getId());
+
+ assertThat(loadedEntity.getName(), is("hello-changed"));
+
+ } finally {
+ server.endTransaction();
+ }
+
+ }
+
+}