Skip to content

Commit bb418b6

Browse files
committed
HHH-18691 Add Record Classes Support to ComponentMetadataGenerator
1 parent c9cddf5 commit bb418b6

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
import org.hibernate.mapping.Value;
1919
import org.hibernate.metamodel.internal.EmbeddableCompositeUserTypeInstantiator;
2020
import org.hibernate.metamodel.internal.EmbeddableInstantiatorPojoIndirecting;
21+
import org.hibernate.metamodel.internal.EmbeddableInstantiatorRecordIndirecting;
22+
import org.hibernate.metamodel.internal.EmbeddableInstantiatorRecordStandard;
2123
import org.hibernate.metamodel.spi.EmbeddableInstantiator;
2224
import org.hibernate.resource.beans.internal.FallbackBeanInstanceProducer;
2325
import org.hibernate.usertype.CompositeUserType;
@@ -84,6 +86,18 @@ else if ( propComponent.getInstantiator() != null ) {
8486
propComponent.getInstantiatorPropertyNames()
8587
);
8688
}
89+
else if ( propComponent.getComponentClass() != null &&
90+
propComponent.getComponentClass().isRecord() ) {
91+
if ( propComponent.sortProperties() == null ) {
92+
instantiator = new EmbeddableInstantiatorRecordStandard( propComponent.getComponentClass() );
93+
}
94+
else {
95+
instantiator = EmbeddableInstantiatorRecordIndirecting.of(
96+
propComponent.getComponentClass(),
97+
propComponent.getPropertyNames()
98+
);
99+
}
100+
}
87101
else {
88102
instantiator = null;
89103
}

0 commit comments

Comments
 (0)