From f19e971de5bd4624117e358eb5e1e18d7f031a5e Mon Sep 17 00:00:00 2001 From: Christian Beikov Date: Wed, 21 Jun 2023 13:52:32 +0200 Subject: [PATCH] HHH-14703 Testcase showing that @Enumerated is picked up through implicit access type --- .../NestedEmbeddableDefaultAccessTests.java | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/hibernate-core/src/test/java/org/hibernate/orm/test/mapping/access/NestedEmbeddableDefaultAccessTests.java b/hibernate-core/src/test/java/org/hibernate/orm/test/mapping/access/NestedEmbeddableDefaultAccessTests.java index fb67032ea5..a20246851c 100644 --- a/hibernate-core/src/test/java/org/hibernate/orm/test/mapping/access/NestedEmbeddableDefaultAccessTests.java +++ b/hibernate-core/src/test/java/org/hibernate/orm/test/mapping/access/NestedEmbeddableDefaultAccessTests.java @@ -15,8 +15,7 @@ import org.hibernate.testing.orm.junit.DomainModel; import org.hibernate.testing.orm.junit.DomainModelScope; -import org.hibernate.testing.orm.junit.FailureExpected; -import org.hibernate.testing.orm.junit.Jira; +import org.hibernate.testing.orm.junit.JiraKey; import org.hibernate.testing.orm.junit.SessionFactory; import org.junit.jupiter.api.Test; @@ -27,6 +26,8 @@ import jakarta.persistence.Embeddable; import jakarta.persistence.Embedded; import jakarta.persistence.Entity; +import jakarta.persistence.EnumType; +import jakarta.persistence.Enumerated; import jakarta.persistence.Id; import jakarta.persistence.Table; @@ -37,6 +38,7 @@ */ @DomainModel( annotatedClasses = { NestedEmbeddableDefaultAccessTests.MyEntity.class } ) @SessionFactory( exportSchema = false ) +@JiraKey( "HHH-14703" ) public class NestedEmbeddableDefaultAccessTests { @Test public void verifyEmbeddedMapping(DomainModelScope scope) { @@ -47,7 +49,7 @@ public void verifyEmbeddedMapping(DomainModelScope scope) { } @Test - @Jira( "https://hibernate.atlassian.net/browse/HHH-14063" ) + @JiraKey( "HHH-14063" ) public void verifyElementCollectionMapping(DomainModelScope scope) { scope.withHierarchy( MyEntity.class, (descriptor) -> { final Property outerEmbeddedList = descriptor.getProperty( "outerEmbeddableList" ); @@ -62,11 +64,16 @@ private void verifyMapping(Component outerEmbeddable) { final Component nestedEmbeddable = (Component) nestedEmbedded.getValue(); final Property nestedData = nestedEmbeddable.getProperty( "nestedData" ); final BasicValue nestedDataMapping = (BasicValue) nestedData.getValue(); + final Property nestedEnum = nestedEmbeddable.getProperty( "nestedEnum" ); + final BasicValue nestedEnumMapping = (BasicValue) nestedEnum.getValue(); assertThat( outerDataMapping.getColumn().getText() ).isEqualTo( "outer_data" ); assertThat( outerDataMapping.getJpaAttributeConverterDescriptor() ).isNotNull(); assertThat( nestedDataMapping.getColumn().getText() ).isEqualTo( "nested_data" ); + + // Check for HHH-14703 + assertThat( nestedEnumMapping.getEnumeratedType() ).isEqualTo( EnumType.STRING ); } @Entity( name = "MyEntity" ) @@ -126,5 +133,13 @@ public static class NestedEmbeddable { @Convert( converter = SillyConverter.class ) @Column( name = "nested_data" ) private String nestedData; + @Enumerated(EnumType.STRING) + @Column( name = "nested_enum" ) + private MyEnum nestedEnum; + } + + public enum MyEnum { + A, + B } }