Skip to content

Commit 70c8764

Browse files
committed
HHH-19324 - Switch tests using hbm.xml to use mapping.xml
1 parent f6b7e81 commit 70c8764

File tree

6 files changed

+24
-80
lines changed

6 files changed

+24
-80
lines changed

hibernate-community-dialects/src/test/java/org/hibernate/community/dialect/AltibaseFunctionsTest.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,7 @@
2323
import static org.hamcrest.MatcherAssert.assertThat;
2424
import static org.junit.jupiter.api.Assertions.assertNotNull;
2525

26-
@DomainModel(
27-
annotatedClasses = { Person.class },
28-
xmlMappings = "org/hibernate/community/dialect/Person.hbm.xml"
29-
)
26+
@DomainModel(annotatedClasses = Person.class)
3027
@RequiresDialect(AltibaseDialect.class)
3128
@SessionFactory
3229
public class AltibaseFunctionsTest {

hibernate-community-dialects/src/test/java/org/hibernate/community/dialect/Person.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,20 @@
44
*/
55
package org.hibernate.community.dialect;
66

7-
import java.sql.*;
7+
import jakarta.persistence.Entity;
8+
import jakarta.persistence.GeneratedValue;
9+
import jakarta.persistence.Id;
10+
import jakarta.persistence.SequenceGenerator;
811

12+
import java.sql.Date;
13+
import java.sql.Blob;
14+
import java.sql.Clob;
15+
16+
@Entity
917
public class Person {
18+
@Id
19+
@GeneratedValue
20+
@SequenceGenerator(sequenceName = "PERSON_SEQ")
1021
private int id;
1122
private String name;
1223
private Date birthDate;

hibernate-community-dialects/src/test/resources/org/hibernate/community/dialect/Person.hbm.xml

Lines changed: 0 additions & 25 deletions
This file was deleted.

hibernate-core/src/main/java/org/hibernate/boot/models/internal/ModelsHelper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public static void preFillRegistries(RegistryPrimer.Contributions contributions,
7373
// }
7474
}
7575

76-
private static void registerPrimitive(Class<?> theClass, SourceModelBuildingContext buildingContext) {
76+
private static void registerPrimitive(Class<?> theClass, ModelsContext buildingContext) {
7777
final MutableClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry().as( MutableClassDetailsRegistry.class );
7878
classDetailsRegistry.addClassDetails( new JdkClassDetails( theClass, buildingContext ) );
7979

hibernate-core/src/main/java/org/hibernate/boot/models/xml/internal/DynamicModelHelper.java

Lines changed: 10 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,16 @@
2525
import org.hibernate.boot.models.internal.ModelsHelper;
2626
import org.hibernate.boot.models.xml.spi.XmlDocumentContext;
2727
import org.hibernate.boot.spi.BootstrapContext;
28-
import org.hibernate.internal.util.StringHelper;
2928
import org.hibernate.internal.util.collections.CollectionHelper;
3029
import org.hibernate.models.internal.ClassTypeDetailsImpl;
3130
import org.hibernate.models.internal.MutableClassDetailsRegistry;
3231
import org.hibernate.models.internal.dynamic.DynamicClassDetails;
3332
import org.hibernate.models.internal.dynamic.DynamicFieldDetails;
34-
import org.hibernate.models.internal.jdk.JdkBuilders;
3533
import org.hibernate.models.internal.jdk.JdkClassDetails;
3634
import org.hibernate.models.spi.ClassDetails;
3735
import org.hibernate.models.spi.ClassDetailsRegistry;
3836
import org.hibernate.models.spi.MutableClassDetails;
39-
import org.hibernate.models.spi.SourceModelBuildingContext;
37+
import org.hibernate.models.spi.ModelsContext;
4038
import org.hibernate.models.spi.TypeDetails;
4139
import org.hibernate.type.descriptor.java.JavaType;
4240
import org.hibernate.type.descriptor.jdbc.JdbcType;
@@ -48,7 +46,6 @@
4846
import java.util.Set;
4947

5048
import static org.hibernate.internal.util.NullnessHelper.nullif;
51-
import static org.hibernate.internal.util.StringHelper.isEmpty;
5249
import static org.hibernate.internal.util.StringHelper.isNotEmpty;
5350
import static org.hibernate.models.internal.ModifierUtils.DYNAMIC_ATTRIBUTE_MODIFIERS;
5451

@@ -395,11 +392,11 @@ private static ClassDetails determineAttributeJavaType(
395392
final String target = jaxbBasicMapping.getTarget();
396393
if ( isNotEmpty( target ) ) {
397394
final SimpleTypeInterpretation simpleTypeInterpretation = SimpleTypeInterpretation.interpret( target );
398-
return resolveBasicMappingTarget( target, xmlDocumentContext );
395+
return resolveBasicMappingTarget( simpleTypeInterpretation, xmlDocumentContext );
399396
}
400397

401398
final BootstrapContext bootstrapContext = xmlDocumentContext.getBootstrapContext();
402-
final SourceModelBuildingContext modelsContext = bootstrapContext.getModelsContext();
399+
final ModelsContext modelsContext = bootstrapContext.getModelsContext();
403400

404401
// UserType
405402
final JaxbUserTypeImpl userTypeNode = jaxbBasicMapping.getType();
@@ -460,30 +457,16 @@ else if ( jdbcTypeCode != null ) {
460457
* primitive and wrapper ({@code boolean} and {@code Boolean} e.g.) is important while in
461458
* SimpleTypeInterpretation we only care about the wrapper.
462459
*/
463-
private static ClassDetails resolveBasicMappingTarget(String name, XmlDocumentContext xmlDocumentContext) {
464-
final SourceModelBuildingContext modelsContext = xmlDocumentContext.getBootstrapContext().getModelsContext();
460+
private static ClassDetails resolveBasicMappingTarget(SimpleTypeInterpretation targetInterpretation, XmlDocumentContext xmlDocumentContext) {
461+
final ModelsContext modelsContext = xmlDocumentContext.getBootstrapContext().getModelsContext();
465462
final ClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry();
466-
467-
if ( isEmpty( name ) ) {
468-
return classDetailsRegistry.resolveClassDetails( Object.class.getName() );
469-
}
470-
471-
final SimpleTypeInterpretation simpleTypeInterpretation = SimpleTypeInterpretation.interpret( name );
472-
if ( simpleTypeInterpretation != null ) {
473-
return classDetailsRegistry.resolveClassDetails( simpleTypeInterpretation.getJavaType().getName() );
474-
}
475-
476-
name = StringHelper.qualifyConditionallyIfNot( xmlDocumentContext.getXmlDocument().getDefaults().getPackage(), name );
477-
return classDetailsRegistry.as( MutableClassDetailsRegistry.class ).resolveClassDetails(
478-
name,
479-
(s) -> JdkBuilders.buildClassDetailsStatic( s, modelsContext )
480-
);
463+
return classDetailsRegistry.resolveClassDetails( targetInterpretation.getJavaType().getName() );
481464
}
482465

483466
private static MutableClassDetails resolveTemporalJavaType(
484467
TemporalType temporalType,
485468
XmlDocumentContext xmlDocumentContext) {
486-
final SourceModelBuildingContext modelsContext = xmlDocumentContext.getBootstrapContext().getModelsContext();
469+
final ModelsContext modelsContext = xmlDocumentContext.getBootstrapContext().getModelsContext();
487470
final MutableClassDetailsRegistry classDetailsRegistry = modelsContext.getClassDetailsRegistry().as( MutableClassDetailsRegistry.class );
488471
switch ( temporalType ) {
489472
case DATE -> {
@@ -516,7 +499,7 @@ private static TypeDetails determineAttributeJavaTypeDetails(
516499
XmlDocumentContext xmlDocumentContext) {
517500
final String target = jaxbEmbeddedMapping.getTarget();
518501
if ( isNotEmpty( target ) ) {
519-
final SourceModelBuildingContext modelsContext = xmlDocumentContext.getBootstrapContext().getModelsContext();
502+
final ModelsContext modelsContext = xmlDocumentContext.getBootstrapContext().getModelsContext();
520503
final ClassDetails memberTypeClassDetails = ModelsHelper.resolveClassDetails(
521504
target,
522505
modelsContext.getClassDetailsRegistry(),
@@ -539,7 +522,7 @@ private static TypeDetails determineAttributeJavaTypeDetails(
539522
XmlDocumentContext xmlDocumentContext) {
540523
final String target = jaxbAssociationAttribute.getTargetEntity();
541524
if ( isNotEmpty( target ) ) {
542-
final SourceModelBuildingContext modelsContext = xmlDocumentContext.getBootstrapContext().getModelsContext();
525+
final ModelsContext modelsContext = xmlDocumentContext.getBootstrapContext().getModelsContext();
543526
final ClassDetails classDetails = ModelsHelper.resolveClassDetails(
544527
target,
545528
modelsContext.getClassDetailsRegistry(),
@@ -568,7 +551,7 @@ private static TypeDetails determineAttributeJavaTypeDetails(
568551
XmlDocumentContext xmlDocumentContext) {
569552
// Logically this is Object, which is what we return here for now.
570553
// todo : might be nice to allow specifying a "common interface"
571-
final SourceModelBuildingContext modelsContext = xmlDocumentContext.getBootstrapContext().getModelsContext();
554+
final ModelsContext modelsContext = xmlDocumentContext.getBootstrapContext().getModelsContext();
572555
final ClassDetails objectClassDetails = modelsContext.getClassDetailsRegistry().resolveClassDetails( Object.class.getName() );
573556
return new ClassTypeDetailsImpl( objectClassDetails, TypeDetails.Kind.CLASS );
574557
}

hibernate-core/src/test/java/org/hibernate/orm/test/boot/models/xml/column/transform/ModelTests.java

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -45,28 +45,6 @@ void testMappingXml(ServiceRegistryScope scope) {
4545
assertThat( transformerAnn.write() ).isEqualTo( "? * 100.00" );
4646
}
4747

48-
@ServiceRegistry(settings = {
49-
@Setting(name = MappingSettings.TRANSFORM_HBM_XML, value = "true"),
50-
@Setting( name = AvailableSettings.VALIDATE_XML, value = "true")
51-
})
52-
@Test
53-
void testHbmXml(ServiceRegistryScope scope) {
54-
final String hbmXmlResourceName = "mappings/models/column/transform/hbm.xml";
55-
56-
final ManagedResources managedResources = new AdditionalManagedResourcesImpl.Builder( scope.getRegistry() )
57-
.addXmlMappings( hbmXmlResourceName )
58-
.build();
59-
final StandardServiceRegistry serviceRegistry = scope.getRegistry();
60-
final ModelsContext ModelsContext = createBuildingContext( managedResources, serviceRegistry );
61-
62-
final ClassDetails classDetails = ModelsContext.getClassDetailsRegistry().getClassDetails( Item.class.getName() );
63-
final FieldDetails costField = classDetails.findFieldByName( "cost" );
64-
final ColumnTransformer transformerAnn = costField.getAnnotationUsage( ColumnTransformer.class, ModelsContext );
65-
assertThat( transformerAnn ).isNotNull();
66-
assertThat( transformerAnn.read() ).isEqualTo( "cost / 100.00" );
67-
assertThat( transformerAnn.write() ).isEqualTo( "? * 100.00" );
68-
}
69-
7048
@ServiceRegistry
7149
@DomainModel(xmlMappings = "mappings/models/column/transform/mapping.xml")
7250
@Test

0 commit comments

Comments
 (0)