Hi Rick, As requested, here is a test I wrote in the 'openjpa-persistence-jdbc' project:
package org.apache.openjpa.persistence.jdbc.update; import java.util.Date; import javax.persistence.EntityManager; import org.apache.openjpa.persistence.test.SingleEMFTestCase; public class TestCascadePersist extends SingleEMFTestCase { public void setUp() throws Exception { super.setUp(CLEAR_TABLES, Parent.class, Child.class); } public void testAddChildShouldNotUpdateParent() { EntityManager em = emf.createEntityManager(); em.getTransaction().begin(); Parent parent = new Parent(); parent.setName("parent"); em.persist(parent); em.getTransaction().commit(); long parentId = parent.getId(); Date expectedLastModifiedDate = parent.getLastModifiedDate(); em.getTransaction().begin(); parent = em.find(Parent.class, parentId); parent.newChild("child"); em.getTransaction().commit(); Date actualModifiedDate = parent.getLastModifiedDate(); assertEquals("The last modified date should not change.", expectedLastModifiedDate.getTime(), actualModifiedDate.getTime()); } } In order for the test to work, the following instance variable and methods have to be added to the existing org.apache.openjpa.persistence.jdbc.update.Parent class: private Date lastModifiedDate; public Date getLastModifiedDate() { return lastModifiedDate; } @PrePersist @PreUpdate public void onUpdate() { this.lastModifiedDate = new Date(); } Thanks! Alain -- View this message in context: http://openjpa.208410.n2.nabble.com/Unecessary-database-update-tp7586121p7586153.html Sent from the OpenJPA Users mailing list archive at Nabble.com.