Skip to content

Commit 92e4977

Browse files
committed
HHH-18819 Add test for issue
1 parent d59d6fa commit 92e4977

File tree

3 files changed

+55
-0
lines changed

3 files changed

+55
-0
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/metamodel/EmbeddableMetaModelTest.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
Person.class,
2929
Measurement.class,
3030
Height.class,
31+
WeightClass.class,
32+
Weight.class,
3133
} )
3234
public class EmbeddableMetaModelTest {
3335
@Test
@@ -62,4 +64,18 @@ public void test(EntityManagerFactoryScope scope) {
6264
assertNotNull( Measurement_.unit );
6365
} );
6466
}
67+
68+
@Test
69+
@Jira( "https://hibernate.atlassian.net/browse/HHH-18819" )
70+
public void testIdClass(EntityManagerFactoryScope scope) {
71+
scope.inTransaction( entityManager -> {
72+
final EmbeddableDomainType<Weight> embeddable = (EmbeddableDomainType<Weight>) entityManager.getMetamodel()
73+
.embeddable( Weight.class );
74+
assertNotNull( embeddable.getSuperType() );
75+
assertEquals( MAPPED_SUPERCLASS, embeddable.getSuperType().getPersistenceType() );
76+
assertEquals( Measurement.class, embeddable.getSuperType().getJavaType() );
77+
assertNotNull( Weight_.weight );
78+
assertNotNull( Measurement_.unit );
79+
} );
80+
}
6581
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/*
2+
* SPDX-License-Identifier: LGPL-2.1-or-later
3+
* Copyright Red Hat Inc. and Hibernate Authors
4+
*/
5+
package org.hibernate.orm.test.metamodel;
6+
7+
import jakarta.persistence.Embeddable;
8+
9+
/**
10+
* @author Marco Belladelli
11+
*/
12+
@Embeddable
13+
public class Weight extends Measurement {
14+
private float weight;
15+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/*
2+
* SPDX-License-Identifier: LGPL-2.1-or-later
3+
* Copyright Red Hat Inc. and Hibernate Authors
4+
*/
5+
package org.hibernate.orm.test.metamodel;
6+
7+
import jakarta.persistence.Entity;
8+
import jakarta.persistence.Id;
9+
import jakarta.persistence.IdClass;
10+
11+
/**
12+
* @author Marco Belladelli
13+
*/
14+
@Entity
15+
@IdClass(Weight.class)
16+
public class WeightClass {
17+
@Id
18+
private String unit;
19+
20+
@Id
21+
private float weight;
22+
23+
private String description;
24+
}

0 commit comments

Comments
 (0)