HHH-17460 - Ongoing JPA 32 work
This commit is contained in:
parent
c5f1c80040
commit
6183e7e606
|
@ -145,7 +145,7 @@ public class InFlightMetadataCollectorImpl implements InFlightMetadataCollector,
|
||||||
private final MetadataBuildingOptions options;
|
private final MetadataBuildingOptions options;
|
||||||
|
|
||||||
private final GlobalRegistrations globalRegistrations;
|
private final GlobalRegistrations globalRegistrations;
|
||||||
private final PersistenceUnitMetadata persistenceUnitMetadata;
|
private PersistenceUnitMetadata persistenceUnitMetadata;
|
||||||
|
|
||||||
private final AttributeConverterManager attributeConverterManager = new AttributeConverterManager();
|
private final AttributeConverterManager attributeConverterManager = new AttributeConverterManager();
|
||||||
|
|
||||||
|
@ -204,7 +204,6 @@ public class InFlightMetadataCollectorImpl implements InFlightMetadataCollector,
|
||||||
this.uuid = UUID.randomUUID();
|
this.uuid = UUID.randomUUID();
|
||||||
|
|
||||||
this.globalRegistrations = new GlobalRegistrationsImpl( sourceModelBuildingContext );
|
this.globalRegistrations = new GlobalRegistrationsImpl( sourceModelBuildingContext );
|
||||||
this.persistenceUnitMetadata = new PersistenceUnitMetadataImpl();
|
|
||||||
|
|
||||||
for ( Map.Entry<String, SqmFunctionDescriptor> sqlFunctionEntry : bootstrapContext.getSqlFunctions().entrySet() ) {
|
for ( Map.Entry<String, SqmFunctionDescriptor> sqlFunctionEntry : bootstrapContext.getSqlFunctions().entrySet() ) {
|
||||||
if ( sqlFunctionMap == null ) {
|
if ( sqlFunctionMap == null ) {
|
||||||
|
@ -729,6 +728,11 @@ public class InFlightMetadataCollectorImpl implements InFlightMetadataCollector,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addPersistenceUnitMetadata(PersistenceUnitMetadata persistenceUnitMetadata) {
|
||||||
|
this.persistenceUnitMetadata = persistenceUnitMetadata;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addDefaultIdentifierGenerator(IdentifierGeneratorDefinition generator) {
|
public void addDefaultIdentifierGenerator(IdentifierGeneratorDefinition generator) {
|
||||||
this.addIdentifierGenerator( generator );
|
this.addIdentifierGenerator( generator );
|
||||||
|
|
|
@ -424,6 +424,7 @@ public class MetadataBuildingProcess {
|
||||||
|
|
||||||
assert metadataCollector.getPersistenceUnitMetadata() == xmlPreProcessingResult.getPersistenceUnitMetadata();
|
assert metadataCollector.getPersistenceUnitMetadata() == xmlPreProcessingResult.getPersistenceUnitMetadata();
|
||||||
|
|
||||||
|
metadataCollector.addPersistenceUnitMetadata( xmlPreProcessingResult.getPersistenceUnitMetadata() );
|
||||||
//noinspection unchecked
|
//noinspection unchecked
|
||||||
final List<String> allKnownClassNames = mutableJoin(
|
final List<String> allKnownClassNames = mutableJoin(
|
||||||
managedResources.getAnnotatedClassReferences().stream().map( Class::getName ).collect( Collectors.toList() ),
|
managedResources.getAnnotatedClassReferences().stream().map( Class::getName ).collect( Collectors.toList() ),
|
||||||
|
|
|
@ -88,7 +88,6 @@ import org.hibernate.boot.jaxb.mapping.spi.JaxbUuidGeneratorImpl;
|
||||||
import org.hibernate.boot.jaxb.mapping.spi.db.JaxbCheckable;
|
import org.hibernate.boot.jaxb.mapping.spi.db.JaxbCheckable;
|
||||||
import org.hibernate.boot.jaxb.mapping.spi.db.JaxbColumnJoined;
|
import org.hibernate.boot.jaxb.mapping.spi.db.JaxbColumnJoined;
|
||||||
import org.hibernate.boot.jaxb.mapping.spi.db.JaxbTableMapping;
|
import org.hibernate.boot.jaxb.mapping.spi.db.JaxbTableMapping;
|
||||||
import org.hibernate.boot.models.JpaAnnotations;
|
|
||||||
import org.hibernate.boot.models.categorize.spi.JpaEventListener;
|
import org.hibernate.boot.models.categorize.spi.JpaEventListener;
|
||||||
import org.hibernate.boot.models.categorize.spi.JpaEventListenerStyle;
|
import org.hibernate.boot.models.categorize.spi.JpaEventListenerStyle;
|
||||||
import org.hibernate.boot.models.internal.AnnotationUsageHelper;
|
import org.hibernate.boot.models.internal.AnnotationUsageHelper;
|
||||||
|
@ -985,16 +984,12 @@ public class XmlAnnotationHelper {
|
||||||
JaxbTableImpl jaxbTable,
|
JaxbTableImpl jaxbTable,
|
||||||
MutableAnnotationTarget target,
|
MutableAnnotationTarget target,
|
||||||
XmlDocumentContext xmlDocumentContext) {
|
XmlDocumentContext xmlDocumentContext) {
|
||||||
final MutableAnnotationUsage<Table> tableAnn = XmlProcessingHelper.makeAnnotation( Table.class, target, xmlDocumentContext );
|
|
||||||
final AnnotationDescriptor<Table> tableDescriptor = xmlDocumentContext.getModelBuildingContext()
|
|
||||||
.getAnnotationDescriptorRegistry()
|
|
||||||
.getDescriptor( Table.class );
|
|
||||||
|
|
||||||
if ( jaxbTable == null ) {
|
if ( jaxbTable == null ) {
|
||||||
final XmlDocument.Defaults defaults = xmlDocumentContext.getXmlDocument().getDefaults();
|
final XmlDocument.Defaults defaults = xmlDocumentContext.getXmlDocument().getDefaults();
|
||||||
final String catalog = defaults.getCatalog();
|
final String catalog = defaults.getCatalog();
|
||||||
final String schema = defaults.getSchema();
|
final String schema = defaults.getSchema();
|
||||||
if ( StringHelper.isNotEmpty( catalog ) || StringHelper.isNotEmpty( schema ) ) {
|
if ( StringHelper.isNotEmpty( catalog ) || StringHelper.isNotEmpty( schema ) ) {
|
||||||
|
final MutableAnnotationUsage<Table> tableAnn = XmlProcessingHelper.makeAnnotation( Table.class, target, xmlDocumentContext );
|
||||||
if ( StringHelper.isNotEmpty( catalog ) ) {
|
if ( StringHelper.isNotEmpty( catalog ) ) {
|
||||||
tableAnn.setAttributeValue( "catalog", catalog );
|
tableAnn.setAttributeValue( "catalog", catalog );
|
||||||
|
|
||||||
|
@ -1005,6 +1000,10 @@ public class XmlAnnotationHelper {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
final MutableAnnotationUsage<Table> tableAnn = XmlProcessingHelper.makeAnnotation( Table.class, target, xmlDocumentContext );
|
||||||
|
final AnnotationDescriptor<Table> tableDescriptor = xmlDocumentContext.getModelBuildingContext()
|
||||||
|
.getAnnotationDescriptorRegistry()
|
||||||
|
.getDescriptor( Table.class );
|
||||||
applyOr( jaxbTable, JaxbTableImpl::getName, "name", tableAnn, tableDescriptor );
|
applyOr( jaxbTable, JaxbTableImpl::getName, "name", tableAnn, tableDescriptor );
|
||||||
applyTableAttributes( jaxbTable, target, tableAnn, tableDescriptor, xmlDocumentContext );
|
applyTableAttributes( jaxbTable, target, tableAnn, tableDescriptor, xmlDocumentContext );
|
||||||
}
|
}
|
||||||
|
@ -1742,9 +1741,9 @@ public class XmlAnnotationHelper {
|
||||||
XmlDocumentContext xmlDocumentContext) {
|
XmlDocumentContext xmlDocumentContext) {
|
||||||
applyOr(
|
applyOr(
|
||||||
jaxbNode,
|
jaxbNode,
|
||||||
(collectionTable) -> {
|
(table) -> {
|
||||||
if ( StringHelper.isNotEmpty( collectionTable.getSchema() ) ) {
|
if ( StringHelper.isNotEmpty( table.getSchema() ) ) {
|
||||||
return collectionTable.getSchema();
|
return table.getSchema();
|
||||||
}
|
}
|
||||||
else if ( StringHelper.isNotEmpty( defaultSchema( xmlDocumentContext ) ) ) {
|
else if ( StringHelper.isNotEmpty( defaultSchema( xmlDocumentContext ) ) ) {
|
||||||
return defaultSchema( xmlDocumentContext );
|
return defaultSchema( xmlDocumentContext );
|
||||||
|
@ -1770,9 +1769,9 @@ public class XmlAnnotationHelper {
|
||||||
XmlDocumentContext xmlDocumentContext) {
|
XmlDocumentContext xmlDocumentContext) {
|
||||||
applyOr(
|
applyOr(
|
||||||
jaxbNode,
|
jaxbNode,
|
||||||
(collectionTable) -> {
|
(table) -> {
|
||||||
if ( StringHelper.isNotEmpty( collectionTable.getCatalog() ) ) {
|
if ( StringHelper.isNotEmpty( table.getCatalog() ) ) {
|
||||||
return collectionTable.getCatalog();
|
return table.getCatalog();
|
||||||
}
|
}
|
||||||
else if ( StringHelper.isNotEmpty( defaultCatalog( xmlDocumentContext ) ) ) {
|
else if ( StringHelper.isNotEmpty( defaultCatalog( xmlDocumentContext ) ) ) {
|
||||||
return defaultCatalog( xmlDocumentContext );
|
return defaultCatalog( xmlDocumentContext );
|
||||||
|
|
|
@ -246,8 +246,8 @@ public class XmlDocumentImpl implements XmlDocument {
|
||||||
jaxbRoot.getPackage(),
|
jaxbRoot.getPackage(),
|
||||||
NullnessHelper.coalesce( jaxbRoot.getAccess(), metadata.getAccessType() ),
|
NullnessHelper.coalesce( jaxbRoot.getAccess(), metadata.getAccessType() ),
|
||||||
NullnessHelper.coalesce( jaxbRoot.getAttributeAccessor(), metadata.getDefaultAccessStrategyName() ),
|
NullnessHelper.coalesce( jaxbRoot.getAttributeAccessor(), metadata.getDefaultAccessStrategyName() ),
|
||||||
NullnessHelper.coalesce( jaxbRoot.getCatalog(), metadata.getDefaultCatalog() ),
|
jaxbRoot.getCatalog(),
|
||||||
NullnessHelper.coalesce( jaxbRoot.getSchema(), metadata.getDefaultSchema() ),
|
jaxbRoot.getSchema(),
|
||||||
jaxbRoot.isAutoImport(),
|
jaxbRoot.isAutoImport(),
|
||||||
jaxbRoot.isDefaultLazy()
|
jaxbRoot.isDefaultLazy()
|
||||||
);
|
);
|
||||||
|
|
|
@ -253,6 +253,8 @@ public interface InFlightMetadataCollector extends MetadataImplementor {
|
||||||
|
|
||||||
void addIdentifierGenerator(IdentifierGeneratorDefinition generatorDefinition);
|
void addIdentifierGenerator(IdentifierGeneratorDefinition generatorDefinition);
|
||||||
|
|
||||||
|
void addPersistenceUnitMetadata(PersistenceUnitMetadata persistenceUnitMetadata);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Obtain the {@link ConverterRegistry} which may be
|
* Obtain the {@link ConverterRegistry} which may be
|
||||||
* used to register {@link AttributeConverter}s.
|
* used to register {@link AttributeConverter}s.
|
||||||
|
|
Loading…
Reference in New Issue