HHH-17504 - Ongoing JPA 32 work

HHH-17350 - Work on hibernate-models, XSD and JAXB
HHH-16114 - Improve boot metamodel binding
HHH-15996 - Develop an abstraction for Annotation in annotation processing
HHH-16012 - Develop an abstraction for domain model Class refs
HHH-15997 - Support for dynamic models in orm.xml
HHH-15698 - Support for entity-name in mapping.xsd
This commit is contained in:
Steve Ebersole 2023-12-04 18:47:23 -06:00
parent cf69c2683d
commit 3e20e0939f
30 changed files with 47 additions and 223 deletions

View File

@ -1,10 +1,10 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* SPDX-License-Identifier: Apache-2.0
* Copyright: Red Hat Inc. and Hibernate Authors
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html.
*/
package org.hibernate.boot.models.bind.internal;
package org.hibernate.boot.internal;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;

View File

@ -11,6 +11,7 @@ import java.util.function.Consumer;
import org.hibernate.annotations.*;
import org.hibernate.boot.internal.Abstract;
import org.hibernate.boot.internal.AnyKeyType;
import org.hibernate.boot.internal.CollectionClassification;
import org.hibernate.boot.internal.Extends;
import org.hibernate.boot.internal.Target;
@ -172,6 +173,7 @@ public interface HibernateAnnotations {
AnnotationDescriptor<WhereJoinTable> WHERE_JOIN_TABLE = createOrmDescriptor( WhereJoinTable.class );
AnnotationDescriptor<Abstract> ABSTRACT = createOrmDescriptor( Abstract.class );
AnnotationDescriptor<AnyKeyType> ANY_KEY_TYPE = createOrmDescriptor( AnyKeyType.class );
AnnotationDescriptor<CollectionClassification> COLLECTION_CLASSIFICATION = createOrmDescriptor( CollectionClassification.class );
AnnotationDescriptor<Extends> EXTENDS = createOrmDescriptor( Extends.class );
AnnotationDescriptor<Target> TARGET = createOrmDescriptor( Target.class );

View File

@ -14,12 +14,10 @@ import org.hibernate.annotations.Mutability;
import org.hibernate.annotations.NaturalId;
import org.hibernate.annotations.OptimisticLock;
import org.hibernate.boot.model.convert.internal.ClassBasedConverterDescriptor;
import org.hibernate.boot.model.naming.Identifier;
import org.hibernate.boot.models.AnnotationPlacementException;
import org.hibernate.boot.models.bind.spi.BindingContext;
import org.hibernate.boot.models.bind.spi.BindingOptions;
import org.hibernate.boot.models.bind.spi.BindingState;
import org.hibernate.boot.models.bind.spi.TableReference;
import org.hibernate.boot.models.categorize.spi.AttributeMetadata;
import org.hibernate.mapping.BasicValue;
import org.hibernate.mapping.Component;
@ -233,21 +231,6 @@ public class AttributeBinding extends Binding {
bindingState,
bindingContext
);
// todo : implicit column
final var columnAnn = member.getAnnotationUsage( annotation );
final var column = ColumnHelper.bindColumn( columnAnn, property::getName );
var tableName = BindingHelper.getValue( columnAnn, "table", "" );
if ( "".equals( tableName ) || tableName == null ) {
basicValue.setTable( primaryTable );
}
else {
final Identifier identifier = Identifier.toIdentifier( tableName );
final TableReference tableByName = bindingState.getTableByName( identifier.getCanonicalName() );
basicValue.setTable( tableByName.table() );
}
basicValue.addColumn( column );
}
private void applyNaturalId(AttributeMetadata attributeMetadata, Property property) {

View File

@ -17,6 +17,7 @@ import org.hibernate.annotations.Filter;
import org.hibernate.boot.models.bind.spi.BindingContext;
import org.hibernate.boot.models.bind.spi.BindingOptions;
import org.hibernate.boot.models.bind.spi.BindingState;
import org.hibernate.boot.models.bind.spi.TableReference;
import org.hibernate.boot.models.categorize.spi.AttributeMetadata;
import org.hibernate.boot.models.categorize.spi.EntityHierarchy;
import org.hibernate.boot.models.categorize.spi.EntityTypeMetadata;
@ -356,21 +357,14 @@ public abstract class EntityBinding extends IdentifiableTypeBinding {
}
}
protected void processSecondaryTables() {
final List<SecondaryTable> secondaryTables = TableHelper.bindSecondaryTables(
protected void processSecondaryTables(TableReference primaryTableReference) {
TableHelper.bindSecondaryTables(
this,
primaryTableReference,
bindingOptions,
bindingState,
bindingContext
);
secondaryTables.forEach( (secondaryTable) -> {
final Join join = new Join();
join.setTable( secondaryTable.table() );
join.setPersistentClass( getPersistentClass() );
join.setOptional( secondaryTable.optional() );
join.setInverse( !secondaryTable.owned() );
} );
}
protected void prepareSubclassBindings() {

View File

@ -83,7 +83,7 @@ public class RootEntityBinding extends EntityBinding {
bindingContext
);
processSecondaryTables();
processSecondaryTables( this.tableReference );
bindingState.registerTypeBinding( typeMetadata, this );
@ -111,8 +111,6 @@ public class RootEntityBinding extends EntityBinding {
applyFilters( typeMetadata, rootClass );
applyJpaEventListeners( typeMetadata, rootClass );
// todo : handle any super mapped-superclasses
prepareAttributeBindings( tableReference.table() );
prepareSubclassBindings();

View File

@ -132,15 +132,14 @@ public class TableHelper {
return tableReference;
}
public static List<SecondaryTable> bindSecondaryTables(
public static void bindSecondaryTables(
EntityBinding entityBinding,
TableReference primaryTableReference,
BindingOptions bindingOptions,
BindingState bindingState,
BindingContext bindingContext) {
final ClassDetails typeClassDetails = entityBinding.getTypeMetadata().getClassDetails();
final List<AnnotationUsage<jakarta.persistence.SecondaryTable>> secondaryTableAnns = typeClassDetails.getRepeatedAnnotationUsages( jakarta.persistence.SecondaryTable.class );
final List<SecondaryTable> result = new ArrayList<>( secondaryTableAnns.size() );
secondaryTableAnns.forEach( (secondaryTableAnn) -> {
final AnnotationUsage<SecondaryRow> secondaryRowAnn = typeClassDetails.getNamedAnnotationUsage(
@ -150,20 +149,20 @@ public class TableHelper {
);
final SecondaryTable binding = bindSecondaryTable(
entityBinding,
primaryTableReference,
secondaryTableAnn,
secondaryRowAnn,
bindingOptions,
bindingState,
bindingContext
);
result.add( binding );
bindingState.addSecondaryTable( binding );
} );
return result;
}
public static SecondaryTable bindSecondaryTable(
EntityBinding entityBinding,
TableReference primaryTableReference,
AnnotationUsage<jakarta.persistence.SecondaryTable> secondaryTableAnn,
AnnotationUsage<SecondaryRow> secondaryRowAnn,
BindingOptions bindingOptions,
@ -197,7 +196,7 @@ public class TableHelper {
bindingContext
);
final var binding = bindingState.getMetadataBuildingContext().getMetadataCollector().addTable(
final var secondaryTable = bindingState.getMetadataBuildingContext().getMetadataCollector().addTable(
toCanonicalName( schemaName ),
toCanonicalName( catalogName ),
logicalName.getCanonicalName(),
@ -206,15 +205,15 @@ public class TableHelper {
bindingState.getMetadataBuildingContext()
);
applyComment( binding, secondaryTableAnn, findCommentAnnotation(
applyComment( secondaryTable, secondaryTableAnn, findCommentAnnotation(
entityBinding.getTypeMetadata(),
logicalName,
false
) );
applyOptions( binding, secondaryTableAnn );
applyOptions( secondaryTable, secondaryTableAnn );
final Join join = new Join();
join.setTable( binding );
join.setTable( secondaryTable );
join.setOptional( BindingHelper.getValue( secondaryRowAnn, "optional", true ) );
join.setInverse( !BindingHelper.getValue( secondaryRowAnn, "owned", true ) );
join.setPersistentClass( entityBinding.getPersistentClass() );
@ -231,7 +230,7 @@ public class TableHelper {
physicalNamingStrategy.toPhysicalSchemaName( schemaName, jdbcEnvironment ),
BindingHelper.getValue( secondaryRowAnn, "optional", true ),
BindingHelper.getValue( secondaryRowAnn, "owned", true ),
binding
secondaryTable
);
}

View File

@ -18,7 +18,7 @@ import org.hibernate.boot.jaxb.mapping.spi.JaxbAnyMappingDiscriminatorImpl;
import org.hibernate.boot.jaxb.mapping.spi.JaxbAnyMappingImpl;
import org.hibernate.boot.jaxb.mapping.spi.JaxbAnyMappingKeyImpl;
import org.hibernate.boot.jaxb.mapping.spi.JaxbColumnImpl;
import org.hibernate.boot.models.bind.internal.AnyKeyType;
import org.hibernate.boot.internal.AnyKeyType;
import org.hibernate.boot.models.categorize.xml.internal.XmlProcessingHelper;
import org.hibernate.boot.models.categorize.xml.internal.db.ColumnProcessing;
import org.hibernate.boot.models.categorize.xml.spi.XmlDocumentContext;

View File

@ -4,7 +4,7 @@
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html.
*/
package org.hibernate.orm.test.boot.models.process;
package org.hibernate.orm.test.boot.models;
import java.util.ArrayList;
import java.util.Collection;

View File

@ -4,7 +4,7 @@
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html.
*/
package org.hibernate.orm.test.boot.models.process;
package org.hibernate.orm.test.boot.models;
import jakarta.persistence.AttributeConverter;
import jakarta.persistence.Converter;

View File

@ -4,7 +4,7 @@
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html.
*/
package org.hibernate.orm.test.boot.models.process;
package org.hibernate.orm.test.boot.models;
import java.util.UUID;

View File

@ -24,7 +24,7 @@ import org.hibernate.boot.models.categorize.spi.EntityHierarchy;
import org.hibernate.boot.models.categorize.spi.ManagedResourcesProcessor;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.orm.test.boot.models.process.ManagedResourcesImpl;
import org.hibernate.orm.test.boot.models.ManagedResourcesImpl;
/**
* @author Steve Ebersole

View File

@ -4,7 +4,7 @@
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html.
*/
package org.hibernate.orm.test.boot.models.resources;
package org.hibernate.orm.test.boot.models.process;
import java.util.Iterator;
import java.util.Set;
@ -50,7 +50,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* set of "managed classes" (JPA's term) which Hibernate will process for annotations -
* {@code @Entity}, {@code @Converter}, ...
* <p/>
* And is the likely place that hibernate-models-source would hook in to. Let's see how that might work...
* Let's see how using that with hibernate-models that might work...
*
* @author Steve Ebersole
*/

View File

@ -14,6 +14,7 @@ import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.JavaTypeRegistration;
import org.hibernate.annotations.ParamDef;
import org.hibernate.id.IncrementGenerator;
import org.hibernate.orm.test.boot.models.MyUuidConverter;
import org.hibernate.type.descriptor.java.StringJavaType;
import jakarta.persistence.Entity;

View File

@ -1,76 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html.
*/
package org.hibernate.orm.test.boot.models.process;
import org.hibernate.boot.model.process.spi.ManagedResources;
import org.hibernate.orm.test.boot.models.SourceModelTestHelper;
import org.hibernate.models.internal.SourceModelBuildingContextImpl;
import org.hibernate.models.spi.ClassDetails;
import org.hibernate.models.spi.ClassDetailsRegistry;
import org.hibernate.type.CharBooleanConverter;
import org.hibernate.type.YesNoConverter;
import org.hibernate.type.descriptor.converter.spi.BasicValueConverter;
import org.hibernate.type.descriptor.java.AbstractClassJavaType;
import org.hibernate.type.descriptor.java.StringJavaType;
import org.junit.jupiter.api.Test;
import org.jboss.jandex.Index;
import static org.assertj.core.api.Assertions.assertThat;
import static org.hibernate.models.internal.SimpleClassLoading.SIMPLE_CLASS_LOADING;
/**
* @author Steve Ebersole
*/
public class ProcessorSmokeTests {
@Test
void simpleTest() {
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ManagedResources is built by scanning and from explicit resources
// during ORM bootstrap
final ManagedResourcesImpl.Builder managedResourcesBuilder = new ManagedResourcesImpl.Builder();
managedResourcesBuilder
.addLoadedClasses( Person.class, MyStringConverter.class )
.addPackages( "org.hibernate.models.orm.process" );
final ManagedResources managedResources = managedResourcesBuilder.build();
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// The Jandex index would generally (1) be built by WF and passed
// to ORM or (2) be built by ORM
final Index jandexIndex = SourceModelTestHelper.buildJandexIndex(
SIMPLE_CLASS_LOADING,
Person.class,
MyStringConverter.class,
MyUuidConverter.class,
YesNoConverter.class,
CharBooleanConverter.class,
BasicValueConverter.class,
StringJavaType.class,
AbstractClassJavaType.class
);
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Above here is work done before hibernate-models.
// Below here is work done by hibernate-models.
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
final SourceModelBuildingContextImpl buildingContext = SourceModelTestHelper.createBuildingContext(
jandexIndex,
SIMPLE_CLASS_LOADING
);
final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry();
final ClassDetails personClassDetails = classDetailsRegistry.findClassDetails( Person.class.getName() );
assertThat( personClassDetails ).isNotNull();
}
}

View File

@ -12,6 +12,9 @@ import java.util.Map;
import org.hibernate.boot.internal.MetadataBuilderImpl;
import org.hibernate.boot.model.process.spi.ManagedResources;
import org.hibernate.orm.test.boot.models.BootstrapContextTesting;
import org.hibernate.orm.test.boot.models.ManagedResourcesImpl;
import org.hibernate.orm.test.boot.models.MyStringConverter;
import org.hibernate.orm.test.boot.models.MyUuidConverter;
import org.hibernate.orm.test.boot.models.SourceModelTestHelper;
import org.hibernate.boot.models.categorize.spi.CategorizedDomainModel;
import org.hibernate.boot.models.categorize.spi.EntityHierarchy;
@ -37,6 +40,8 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.hibernate.models.internal.SimpleClassLoading.SIMPLE_CLASS_LOADING;
/**
* Tests the general process / flow of using hibernate-models
*
* @author Steve Ebersole
*/
public class SimpleProcessorTests {
@ -71,12 +76,6 @@ public class SimpleProcessorTests {
);
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Above here is work done before hibernate-models.
// Below here is work done by hibernate-models.
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
try (StandardServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().build()) {
final MetadataBuilderImpl.MetadataBuildingOptionsImpl metadataBuildingOptions = new MetadataBuilderImpl.MetadataBuildingOptionsImpl( serviceRegistry );
final BootstrapContextTesting bootstrapContext = new BootstrapContextTesting( jandexIndex, serviceRegistry, metadataBuildingOptions );

View File

@ -1,76 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html.
*/
package org.hibernate.orm.test.boot.models.util;
import java.util.Collections;
import java.util.List;
import org.hibernate.boot.models.categorize.spi.JpaEventListener;
import org.hibernate.boot.models.categorize.spi.ModelCategorizationContext;
import org.hibernate.models.spi.AnnotationDescriptorRegistry;
import org.hibernate.models.spi.ClassDetailsRegistry;
import org.hibernate.models.spi.SourceModelBuildingContext;
import jakarta.persistence.SharedCacheMode;
/**
* @author Steve Ebersole
*/
public class ModelCategorizationContextTesting implements ModelCategorizationContext {
private final ClassDetailsRegistry classDetailsRegistry;
private final AnnotationDescriptorRegistry annotationDescriptorRegistry;
private final SharedCacheMode sharedCacheMode;
public ModelCategorizationContextTesting(SourceModelBuildingContext sourceModelBuildingContext) {
this( sourceModelBuildingContext, SharedCacheMode.UNSPECIFIED );
}
public ModelCategorizationContextTesting(
SourceModelBuildingContext sourceModelBuildingContext,
SharedCacheMode sharedCacheMode) {
this(
sourceModelBuildingContext.getClassDetailsRegistry(),
sourceModelBuildingContext.getAnnotationDescriptorRegistry(),
sharedCacheMode
);
}
public ModelCategorizationContextTesting(
ClassDetailsRegistry classDetailsRegistry,
AnnotationDescriptorRegistry annotationDescriptorRegistry) {
this( classDetailsRegistry, annotationDescriptorRegistry, SharedCacheMode.UNSPECIFIED );
}
public ModelCategorizationContextTesting(
ClassDetailsRegistry classDetailsRegistry,
AnnotationDescriptorRegistry annotationDescriptorRegistry,
SharedCacheMode sharedCacheMode) {
this.classDetailsRegistry = classDetailsRegistry;
this.annotationDescriptorRegistry = annotationDescriptorRegistry;
this.sharedCacheMode = sharedCacheMode;
}
@Override
public ClassDetailsRegistry getClassDetailsRegistry() {
return classDetailsRegistry;
}
@Override
public AnnotationDescriptorRegistry getAnnotationDescriptorRegistry() {
return annotationDescriptorRegistry;
}
@Override
public SharedCacheMode getSharedCacheMode() {
return sharedCacheMode;
}
@Override
public List<JpaEventListener> getDefaultEventListeners() {
return Collections.emptyList();
}
}

View File

@ -15,10 +15,10 @@ import org.hibernate.annotations.AnyDiscriminatorValue;
import org.hibernate.boot.internal.BootstrapContextImpl;
import org.hibernate.boot.internal.MetadataBuilderImpl;
import org.hibernate.boot.model.process.spi.ManagedResources;
import org.hibernate.boot.models.bind.internal.AnyKeyType;
import org.hibernate.boot.internal.AnyKeyType;
import org.hibernate.boot.models.categorize.spi.CategorizedDomainModel;
import org.hibernate.boot.models.categorize.spi.EntityHierarchy;
import org.hibernate.orm.test.boot.models.process.ManagedResourcesImpl;
import org.hibernate.orm.test.boot.models.ManagedResourcesImpl;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.models.spi.AnnotationUsage;
import org.hibernate.models.spi.FieldDetails;

View File

@ -24,7 +24,7 @@ import org.hibernate.boot.model.process.spi.ManagedResources;
import org.hibernate.boot.models.categorize.spi.CategorizedDomainModel;
import org.hibernate.boot.models.categorize.spi.EntityHierarchy;
import org.hibernate.boot.models.categorize.spi.EntityTypeMetadata;
import org.hibernate.orm.test.boot.models.process.ManagedResourcesImpl;
import org.hibernate.orm.test.boot.models.ManagedResourcesImpl;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.models.spi.AnnotationUsage;
import org.hibernate.models.spi.FieldDetails;

View File

@ -12,7 +12,7 @@ import org.hibernate.boot.model.process.spi.ManagedResources;
import org.hibernate.boot.models.categorize.spi.CategorizedDomainModel;
import org.hibernate.boot.models.categorize.spi.EntityHierarchy;
import org.hibernate.boot.models.categorize.spi.EntityTypeMetadata;
import org.hibernate.orm.test.boot.models.process.ManagedResourcesImpl;
import org.hibernate.orm.test.boot.models.ManagedResourcesImpl;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.models.spi.AnnotationUsage;
import org.hibernate.models.spi.FieldDetails;

View File

@ -16,7 +16,7 @@ import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.orm.test.boot.models.BootstrapContextTesting;
import org.hibernate.orm.test.boot.models.SourceModelTestHelper;
import org.hibernate.orm.test.boot.models.process.ManagedResourcesImpl;
import org.hibernate.orm.test.boot.models.ManagedResourcesImpl;
import org.junit.jupiter.api.Test;

View File

@ -13,7 +13,7 @@ import org.hibernate.boot.models.categorize.spi.AttributeMetadata;
import org.hibernate.boot.models.categorize.spi.CategorizedDomainModel;
import org.hibernate.boot.models.categorize.spi.EntityHierarchy;
import org.hibernate.boot.models.categorize.spi.EntityTypeMetadata;
import org.hibernate.orm.test.boot.models.process.ManagedResourcesImpl;
import org.hibernate.orm.test.boot.models.ManagedResourcesImpl;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;

View File

@ -16,7 +16,7 @@ import org.hibernate.boot.models.categorize.spi.CategorizedDomainModel;
import org.hibernate.boot.models.categorize.spi.EntityHierarchy;
import org.hibernate.boot.models.categorize.spi.EntityTypeMetadata;
import org.hibernate.boot.models.categorize.spi.IdentifiableTypeMetadata;
import org.hibernate.orm.test.boot.models.process.ManagedResourcesImpl;
import org.hibernate.orm.test.boot.models.ManagedResourcesImpl;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.models.spi.AnnotationUsage;

View File

@ -20,7 +20,7 @@ import org.hibernate.boot.models.categorize.spi.AttributeMetadata;
import org.hibernate.boot.models.categorize.spi.CategorizedDomainModel;
import org.hibernate.boot.models.categorize.spi.EntityHierarchy;
import org.hibernate.boot.models.categorize.spi.EntityTypeMetadata;
import org.hibernate.orm.test.boot.models.process.ManagedResourcesImpl;
import org.hibernate.orm.test.boot.models.ManagedResourcesImpl;
import org.hibernate.orm.test.boot.models.xml.SimpleEntity;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;

View File

@ -26,7 +26,7 @@ import org.hibernate.boot.model.process.spi.ManagedResources;
import org.hibernate.boot.models.categorize.spi.CategorizedDomainModel;
import org.hibernate.boot.models.categorize.spi.EntityHierarchy;
import org.hibernate.boot.models.categorize.spi.EntityTypeMetadata;
import org.hibernate.orm.test.boot.models.process.ManagedResourcesImpl;
import org.hibernate.orm.test.boot.models.ManagedResourcesImpl;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.models.spi.AnnotationUsage;

View File

@ -15,7 +15,7 @@ import org.hibernate.boot.model.process.spi.ManagedResources;
import org.hibernate.boot.models.categorize.spi.CategorizedDomainModel;
import org.hibernate.boot.models.categorize.spi.EntityHierarchy;
import org.hibernate.boot.models.categorize.spi.EntityTypeMetadata;
import org.hibernate.orm.test.boot.models.process.ManagedResourcesImpl;
import org.hibernate.orm.test.boot.models.ManagedResourcesImpl;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.models.spi.AnnotationUsage;

View File

@ -15,7 +15,7 @@ import org.hibernate.boot.model.process.spi.ManagedResources;
import org.hibernate.boot.models.categorize.spi.CategorizedDomainModel;
import org.hibernate.boot.models.categorize.spi.EntityHierarchy;
import org.hibernate.boot.models.categorize.spi.EntityTypeMetadata;
import org.hibernate.orm.test.boot.models.process.ManagedResourcesImpl;
import org.hibernate.orm.test.boot.models.ManagedResourcesImpl;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.models.spi.AnnotationUsage;

View File

@ -16,7 +16,7 @@ import org.hibernate.boot.model.process.spi.ManagedResources;
import org.hibernate.boot.models.categorize.spi.CategorizedDomainModel;
import org.hibernate.boot.models.categorize.spi.EntityHierarchy;
import org.hibernate.boot.models.categorize.spi.EntityTypeMetadata;
import org.hibernate.orm.test.boot.models.process.ManagedResourcesImpl;
import org.hibernate.orm.test.boot.models.ManagedResourcesImpl;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.models.spi.AnnotationUsage;

View File

@ -13,7 +13,7 @@ import org.hibernate.boot.internal.MetadataBuilderImpl;
import org.hibernate.boot.model.process.spi.ManagedResources;
import org.hibernate.boot.models.categorize.spi.CategorizedDomainModel;
import org.hibernate.boot.models.categorize.spi.JpaEventListener;
import org.hibernate.orm.test.boot.models.process.ManagedResourcesImpl;
import org.hibernate.orm.test.boot.models.ManagedResourcesImpl;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.models.internal.jdk.VoidClassDetails;

View File

@ -14,7 +14,7 @@ import org.hibernate.boot.internal.MetadataBuilderImpl;
import org.hibernate.boot.model.process.spi.ManagedResources;
import org.hibernate.boot.models.categorize.spi.CategorizedDomainModel;
import org.hibernate.boot.models.categorize.spi.EntityTypeMetadata;
import org.hibernate.orm.test.boot.models.process.ManagedResourcesImpl;
import org.hibernate.orm.test.boot.models.ManagedResourcesImpl;
import org.hibernate.orm.test.boot.models.xml.SimpleEntity;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;

View File

@ -13,7 +13,7 @@ import org.hibernate.boot.models.categorize.spi.AttributeMetadata;
import org.hibernate.boot.models.categorize.spi.CategorizedDomainModel;
import org.hibernate.boot.models.categorize.spi.EntityHierarchy;
import org.hibernate.boot.models.categorize.spi.EntityTypeMetadata;
import org.hibernate.orm.test.boot.models.process.ManagedResourcesImpl;
import org.hibernate.orm.test.boot.models.ManagedResourcesImpl;
import org.hibernate.orm.test.boot.models.xml.SimpleEntity;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;