/* * 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.graphs.named.multiple; import javax.persistence.AttributeNode; import javax.persistence.EntityGraph; import javax.persistence.EntityManager; import org.hibernate.jpa.test.BaseEntityManagerFunctionalTestCase; import org.junit.Test; import java.util.List; import static junit.framework.Assert.assertNotNull; import static org.junit.Assert.assertTrue; /** * @author Steve Ebersole */ public class NamedEntityGraphsTest extends BaseEntityManagerFunctionalTestCase { @Override protected Class<?>[] getAnnotatedClasses() { return new Class[] { Person.class, Employee.class }; } @Test public void testIt() { EntityGraph graph = getOrCreateEntityManager().getEntityGraph( "abc" ); assertNotNull( graph ); graph = getOrCreateEntityManager().getEntityGraph( "xyz" ); assertNotNull( graph ); } @Test public void testAttributeNodesAreAvailable() { EntityManager em = getOrCreateEntityManager(); EntityGraph graph = em.getEntityGraph( "name_salary_graph" ); assertNotNull( graph ); List<AttributeNode<?>> list = graph.getAttributeNodes(); assertNotNull( list ); assertTrue("expected list.size() is two but actual list size is " + list.size(), 2 == list.size() ); AttributeNode attributeNode1 = list.get(0); AttributeNode attributeNode2 = list.get(1); assertNotNull( attributeNode1 ); assertNotNull( attributeNode2 ); assertTrue( "node1 attribute name is expected to be either 'name' or 'salary' but actually is "+attributeNode1.getAttributeName(), "name".equals(attributeNode1.getAttributeName()) || "salary".equals(attributeNode1.getAttributeName())); assertTrue( "node2 attribute name is expected to be either 'name' or 'salary' but actually is "+attributeNode2.getAttributeName(), "name".equals(attributeNode2.getAttributeName()) || "salary".equals(attributeNode2.getAttributeName())); } }