/* * 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.metamodel.attributeInSuper; import javax.persistence.metamodel.EmbeddableType; import org.hibernate.jpa.test.BaseEntityManagerFunctionalTestCase; import org.hibernate.testing.TestForIssue; import org.junit.Test; import static org.hamcrest.CoreMatchers.notNullValue; import static org.hamcrest.MatcherAssert.assertThat; /** * An attempt at defining a test based on the HHH-8712 bug report */ public class FunkyExtendedEmbeddedIdTest extends BaseEntityManagerFunctionalTestCase { @Override public Class[] getAnnotatedClasses() { return new Class[] { WorkOrderId.class, WorkOrder.class, WorkOrderComponentId.class, WorkOrderComponent.class }; } @Test @TestForIssue(jiraKey = "HHH-8712") public void ensureAttributeForEmbeddableIsGeneratedInMappedSuperClass() { EmbeddableType<WorkOrderComponentId> woci = entityManagerFactory().getMetamodel() .embeddable( WorkOrderComponentId.class ); assertThat( woci, notNullValue() ); assertThat( woci.getAttribute( "workOrder" ), notNullValue() ); assertThat( woci.getAttribute( "plantId" ), notNullValue() ); assertThat( woci.getAttribute( "lineNumber" ), notNullValue() ); } }