package org.hibernate.ejb.test.callbacks; import java.util.HashSet; import java.util.Set; import javax.persistence.EntityManager; import org.hibernate.ejb.test.TestCase; public class PostLoadTest extends TestCase { @Override public Class[] getAnnotatedClasses() { return new Class[] { Parent.class, Child.class }; } /** * Load an entity with a collection of associated entities, that uses a @PostLoad method to * access the association. */ public void testAccessAssociatedSetInPostLoad() { Child child = new Child(); child.setId(1); Parent daddy = new Parent(); daddy.setId(1); child.setDaddy(daddy); Set children = new HashSet(); children.add(child); daddy.setChildren(children); EntityManager em = factory.createEntityManager(); em.getTransaction().begin(); em.persist(daddy); em.getTransaction().commit(); em.clear(); daddy = em.find(Parent.class, 1); assertEquals(1, daddy.getNrOfChildren()); } }