Skip to content

Commit 1f9b1c0

Browse files
committed
HHH-9955 - EnumType mapped via hbm.xml not always resolved properly as far as named/ordinal
1 parent ff4774a commit 1f9b1c0

File tree

2 files changed

+5
-10
lines changed

2 files changed

+5
-10
lines changed

hibernate-envers/src/main/java/org/hibernate/envers/configuration/internal/metadata/BasicMetadataGenerator.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import org.hibernate.type.EnumType;
1818
import org.hibernate.type.SerializableToBlobType;
1919
import org.hibernate.type.Type;
20-
import org.hibernate.usertype.DynamicParameterizedType;
2120

2221
import org.dom4j.Element;
2322

@@ -109,14 +108,10 @@ private void mapEnumerationType(Element parent, Type type, Properties parameters
109108
)
110109
);
111110
}
112-
else if ( parameters.get( DynamicParameterizedType.XPROPERTY ) != null ) {
113-
// Case of annotations.
111+
else {
114112
parent.addElement( "param" ).addAttribute( "name", EnumType.NAMED )
115113
.setText( "" + !((EnumType) ((CustomType) type).getUserType()).isOrdinal() );
116114
}
117-
// Otherwise we assume that the choice between ordinal and named representation has been omitted.
118-
// Call to EnumType#isOrdinal() would always return the default Types.INTEGER. We let Hibernate
119-
// to choose the proper strategy during runtime.
120115
}
121116

122117
@SuppressWarnings({"unchecked"})

hibernate-envers/src/test/java/org/hibernate/envers/test/integration/customtype/UnspecifiedEnumTypeTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,11 @@ public void dropSchema(Session session) {
6868
private void createSchema(Session session) {
6969
executeUpdateSafety(
7070
session,
71-
"create table ENUM_ENTITY (ID bigint not null, enum1 varchar(255), enum2 integer, primary key (ID))"
71+
"create table ENUM_ENTITY (ID bigint not null, enum1 integer, enum2 integer, primary key (ID))"
7272
);
7373
executeUpdateSafety(
7474
session,
75-
"create table ENUM_ENTITY_AUD (ID bigint not null, REV integer not null, REVTYPE tinyint, enum1 varchar(255), enum2 integer, primary key (ID, REV))"
75+
"create table ENUM_ENTITY_AUD (ID bigint not null, REV integer not null, REVTYPE tinyint, enum1 integer, enum2 integer, primary key (ID, REV))"
7676
);
7777
executeUpdateSafety(
7878
session,
@@ -159,7 +159,7 @@ public void testEnumRepresentation() {
159159

160160
Assert.assertNotNull( values );
161161
Assert.assertEquals( 2, values.size() );
162-
Assert.assertArrayEquals( new Object[] {"X", 0}, values.get( 0 ) );
163-
Assert.assertArrayEquals( new Object[] {"Y", 1}, values.get( 1 ) );
162+
Assert.assertArrayEquals( new Object[] {0, 0}, values.get( 0 ) );
163+
Assert.assertArrayEquals( new Object[] {1, 1}, values.get( 1 ) );
164164
}
165165
}

0 commit comments

Comments
 (0)