/* * 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.test.annotations.indexcoll; import org.junit.Test; import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase; import static org.junit.Assert.assertEquals; /** * @author Emmanuel Bernard */ public class MapKeyTest extends BaseCoreFunctionalTestCase { @Test public void testMapKeyOnEmbeddedId() { Session s = openSession(); Transaction tx = s.beginTransaction(); Generation c = new Generation(); c.setAge( "a" ); c.setCulture( "b" ); c.setSubGeneration( new Generation.SubGeneration( "description" ) ); GenerationGroup r = new GenerationGroup(); r.setGeneration( c ); s.persist( r ); GenerationUser m = new GenerationUser(); s.persist( m ); m.getRef().put( c, r ); s.flush(); s.clear(); m = (GenerationUser) s.get( GenerationUser.class, m.getId() ); Generation cRead = m.getRef().keySet().iterator().next(); assertEquals( "a",cRead.getAge() ); assertEquals( "description", cRead.getSubGeneration().getDescription() ); tx.rollback(); s.close(); } @Override protected Class[] getAnnotatedClasses() { return new Class[] { GenerationUser.class, GenerationGroup.class }; } }