/* * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later. * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.jpa.test.collection; import static org.junit.Assert.assertEquals; import java.util.HashSet; import java.util.Set; import javax.persistence.EntityManager; import org.hibernate.jpa.test.BaseEntityManagerFunctionalTestCase; import org.hibernate.testing.TestForIssue; import org.junit.Test; @TestForIssue( jiraKey="HHH-6043" ) public class PostLoadTest extends BaseEntityManagerFunctionalTestCase { /** * Load an entity with a collection of associated entities, that uses a @PostLoad method to * access the association. */ @Test public void testAccessAssociatedSetInPostLoad() { Child child = new Child(); child.setId(1); Parent daddy = new Parent(); daddy.setId(1); child.setDaddy(daddy); Set<Child> children = new HashSet<Child>(); children.add(child); daddy.setChildren(children); EntityManager em = getOrCreateEntityManager(); em.getTransaction().begin(); em.persist(daddy); em.getTransaction().commit(); em.clear(); daddy = em.find(Parent.class, 1); assertEquals(1, daddy.getNrOfChildren()); } @Override protected Class<?>[] getAnnotatedClasses() { return new Class[] { Child.class, Parent.class }; } }