Class HibernateOrmProcessor
java.lang.Object
io.quarkus.hibernate.orm.deployment.HibernateOrmProcessor
Simulacrum of JPA bootstrap.
This does not address the proper integration with Hibernate Rather prepare the path to providing the right metadata
- Author:
- Emmanuel Bernard emmanuel@hibernate.org, Sanne Grinovero <sanne@hibernate.org>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static final class -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) AdditionalIndexedClassesBuildItemvoidbuild(RecorderContext recorderContext, HibernateOrmRecorder recorder, Capabilities capabilities, JpaModelBuildItem jpaModel, List<PersistenceUnitDescriptorBuildItem> persistenceUnitDescriptorBuildItems, List<HibernateOrmIntegrationStaticConfiguredBuildItem> integrationBuildItems, BuildProducer<BeanContainerListenerBuildItem> beanContainerListener, LaunchModeBuildItem launchMode) voidbuild(HibernateOrmRecorder recorder, HibernateOrmConfig hibernateOrmConfig, HibernateOrmRuntimeConfig hibernateOrmRuntimeConfig, BuildProducer<JpaModelPersistenceUnitMappingBuildItem> jpaModelPersistenceUnitMapping, List<PersistenceUnitDescriptorBuildItem> descriptors, JpaModelBuildItem jpaModel) static QuarkusScannerbuildQuarkusScanner(JpaModelBuildItem jpaModel) Set up the scanner, as this scanning has already been done we need to just tell it about the classes we have discovered.candidatesForFieldAccess(JpaModelBuildItem jpaModel) (package private) voidcheckTransactionsSupport(Capabilities capabilities, BuildProducer<ValidationPhaseBuildItem.ValidationErrorBuildItem> validationErrors) voidconfigurationDescriptorBuilding(HibernateOrmConfig hibernateOrmConfig, CombinedIndexBuildItem index, ImpliedBlockingPersistenceUnitTypeBuildItem impliedPU, List<PersistenceXmlDescriptorBuildItem> persistenceXmlDescriptors, List<io.quarkus.agroal.spi.JdbcDataSourceBuildItem> jdbcDataSources, ApplicationArchivesBuildItem applicationArchivesBuildItem, LaunchModeBuildItem launchMode, JpaModelBuildItem jpaModel, Capabilities capabilities, BuildProducer<SystemPropertyBuildItem> systemProperties, BuildProducer<NativeImageResourceBuildItem> nativeImageResources, BuildProducer<HotDeploymentWatchedFileBuildItem> hotDeploymentWatchedFiles, BuildProducer<PersistenceUnitDescriptorBuildItem> persistenceUnitDescriptors, List<DatabaseKindDialectBuildItem> dbKindMetadataBuildItems) voidcontributePersistenceXmlToJpaModel(BuildProducer<JpaModelPersistenceUnitContributionBuildItem> jpaModelPuContributions, List<PersistenceXmlDescriptorBuildItem> persistenceXmlDescriptors) voidcontributeQuarkusConfigToJpaModel(BuildProducer<JpaModelPersistenceUnitContributionBuildItem> jpaModelPuContributions, HibernateOrmConfig hibernateOrmConfig) voiddefineJpaEntities(JpaModelIndexBuildItem indexBuildItem, BuildProducer<JpaModelBuildItem> domainObjectsProducer, List<IgnorableNonIndexedClasses> ignorableNonIndexedClassesBuildItems, BuildProducer<ReflectiveClassBuildItem> reflectiveClass, BuildProducer<HotDeploymentWatchedFileBuildItem> hotDeploymentWatchedFiles, List<JpaModelPersistenceUnitContributionBuildItem> jpaModelPuContributions) defineTypeOfImpliedPU(List<io.quarkus.agroal.spi.JdbcDataSourceBuildItem> jdbcDataSourcesBuildItem, Capabilities capabilities) enhancerDomainObjects(JpaModelBuildItem jpaModel, BuildProducer<BytecodeTransformerBuildItem> transformers, List<AdditionalJpaModelBuildItem> additionalJpaModelBuildItems, List<AdditionalJpaModelBuildItem> deprecatedAdditionalJpaModelBuildItems, BuildProducer<GeneratedClassBuildItem> additionalClasses) voidenrollBeanValidationTypeSafeActivatorForReflection(Capabilities capabilities, BuildProducer<ReflectiveClassBuildItem> reflectiveClasses) getModelClassesAndPackagesPerPersistenceUnits(HibernateOrmConfig hibernateOrmConfig, JpaModelBuildItem jpaModel, org.jboss.jandex.IndexView index, boolean enableDefaultPersistenceUnit) (package private) voidhandleNativeImageImportSql(BuildProducer<NativeImageResourceBuildItem> resources, List<PersistenceUnitDescriptorBuildItem> descriptors, JpaModelBuildItem jpaModel, LaunchModeBuildItem launchMode) (package private) static booleanhasEntities(JpaModelBuildItem jpaModel) (package private) List<HotDeploymentWatchedFileBuildItem>hotDeploymentWatchedFiles(HibernateOrmConfig config, LaunchModeBuildItem launchMode) (package private) voidincludeArchivesHostingEntityPackagesInIndex(HibernateOrmConfig hibernateOrmConfig, BuildProducer<AdditionalApplicationArchiveMarkerBuildItem> additionalApplicationArchiveMarkers) jpaEntitiesIndexer(CombinedIndexBuildItem index, List<AdditionalJpaModelBuildItem> additionalJpaModelBuildItems, List<AdditionalJpaModelBuildItem> deprecatedAdditionalJpaModelBuildItems) voidmultitenancy(HibernateOrmRecorder recorder, List<PersistenceUnitDescriptorBuildItem> persistenceUnitDescriptors, BuildProducer<SyntheticBeanBuildItem> syntheticBeans, BuildProducer<UnremovableBeanBuildItem> unremovableBeans) voidparsePersistenceXmlDescriptors(HibernateOrmConfig config, BuildProducer<PersistenceXmlDescriptorBuildItem> persistenceXmlDescriptorBuildItemBuildProducer) voidpreGenAnnotationProxies(List<PersistenceUnitDescriptorBuildItem> persistenceUnitDescriptorBuildItems, BuildProducer<ReflectiveClassBuildItem> reflective, BuildProducer<NativeImageProxyDefinitionBuildItem> proxyDefinitions) pregenProxies(JpaModelBuildItem jpaModel, JpaModelIndexBuildItem indexBuildItem, TransformedClassesBuildItem transformedClassesBuildItem, List<PersistenceUnitDescriptorBuildItem> persistenceUnitDescriptorBuildItems, List<AdditionalJpaModelBuildItem> additionalJpaModelBuildItems, BuildProducer<GeneratedClassBuildItem> generatedClassBuildItemBuildProducer, LiveReloadBuildItem liveReloadBuildItem) voidproduceLoggingCategories(HibernateOrmConfig hibernateOrmConfig, BuildProducer<LogCategoryBuildItem> categories) (package private) voidvoidregisterInjectServiceMethodsForReflection(CombinedIndexBuildItem index, BuildProducer<ReflectiveClassBuildItem> reflective) voidregisterStaticMetamodelClassesForReflection(CombinedIndexBuildItem index, BuildProducer<ReflectiveClassBuildItem> reflective) setupPersistenceProvider(HibernateOrmRecorder recorder, Capabilities capabilities, HibernateOrmRuntimeConfig hibernateOrmRuntimeConfig, List<HibernateOrmIntegrationRuntimeConfiguredBuildItem> integrationBuildItems, BuildProducer<RecorderBeanInitializedBuildItem> orderEnforcer) startPersistenceUnits(HibernateOrmRecorder recorder, BeanContainerBuildItem beanContainer, List<io.quarkus.agroal.spi.JdbcDataSourceBuildItem> dataSourcesConfigured, JpaModelBuildItem jpaModel, List<io.quarkus.agroal.spi.JdbcDataSourceSchemaReadyBuildItem> schemaReadyBuildItem, List<PersistenceProviderSetUpBuildItem> persistenceProviderSetUp) (package private) voidwarnOfSchemaProblems(HibernateOrmConfig config, HibernateOrmRecorder recorder)
-
Field Details
-
HIBERNATE_ORM_CONFIG_PREFIX
- See Also:
-
NO_SQL_LOAD_SCRIPT_FILE
- See Also:
-
-
Constructor Details
-
HibernateOrmProcessor
public HibernateOrmProcessor()
-
-
Method Details
-
registerHibernateOrmMetadataForCoreDialects
void registerHibernateOrmMetadataForCoreDialects(BuildProducer<DatabaseKindDialectBuildItem> producer) -
checkTransactionsSupport
void checkTransactionsSupport(Capabilities capabilities, BuildProducer<ValidationPhaseBuildItem.ValidationErrorBuildItem> validationErrors) -
includeArchivesHostingEntityPackagesInIndex
void includeArchivesHostingEntityPackagesInIndex(HibernateOrmConfig hibernateOrmConfig, BuildProducer<AdditionalApplicationArchiveMarkerBuildItem> additionalApplicationArchiveMarkers) -
warnOfSchemaProblems
-
addPersistenceUnitAnnotationToIndex
AdditionalIndexedClassesBuildItem addPersistenceUnitAnnotationToIndex() -
enrollBeanValidationTypeSafeActivatorForReflection
public void enrollBeanValidationTypeSafeActivatorForReflection(Capabilities capabilities, BuildProducer<ReflectiveClassBuildItem> reflectiveClasses) -
hotDeploymentWatchedFiles
List<HotDeploymentWatchedFileBuildItem> hotDeploymentWatchedFiles(HibernateOrmConfig config, LaunchModeBuildItem launchMode) -
parsePersistenceXmlDescriptors
public void parsePersistenceXmlDescriptors(HibernateOrmConfig config, BuildProducer<PersistenceXmlDescriptorBuildItem> persistenceXmlDescriptorBuildItemBuildProducer) -
defineTypeOfImpliedPU
public ImpliedBlockingPersistenceUnitTypeBuildItem defineTypeOfImpliedPU(List<io.quarkus.agroal.spi.JdbcDataSourceBuildItem> jdbcDataSourcesBuildItem, Capabilities capabilities) -
configurationDescriptorBuilding
public void configurationDescriptorBuilding(HibernateOrmConfig hibernateOrmConfig, CombinedIndexBuildItem index, ImpliedBlockingPersistenceUnitTypeBuildItem impliedPU, List<PersistenceXmlDescriptorBuildItem> persistenceXmlDescriptors, List<io.quarkus.agroal.spi.JdbcDataSourceBuildItem> jdbcDataSources, ApplicationArchivesBuildItem applicationArchivesBuildItem, LaunchModeBuildItem launchMode, JpaModelBuildItem jpaModel, Capabilities capabilities, BuildProducer<SystemPropertyBuildItem> systemProperties, BuildProducer<NativeImageResourceBuildItem> nativeImageResources, BuildProducer<HotDeploymentWatchedFileBuildItem> hotDeploymentWatchedFiles, BuildProducer<PersistenceUnitDescriptorBuildItem> persistenceUnitDescriptors, List<DatabaseKindDialectBuildItem> dbKindMetadataBuildItems) -
jpaEntitiesIndexer
public JpaModelIndexBuildItem jpaEntitiesIndexer(CombinedIndexBuildItem index, List<AdditionalJpaModelBuildItem> additionalJpaModelBuildItems, List<AdditionalJpaModelBuildItem> deprecatedAdditionalJpaModelBuildItems) -
contributePersistenceXmlToJpaModel
public void contributePersistenceXmlToJpaModel(BuildProducer<JpaModelPersistenceUnitContributionBuildItem> jpaModelPuContributions, List<PersistenceXmlDescriptorBuildItem> persistenceXmlDescriptors) -
contributeQuarkusConfigToJpaModel
public void contributeQuarkusConfigToJpaModel(BuildProducer<JpaModelPersistenceUnitContributionBuildItem> jpaModelPuContributions, HibernateOrmConfig hibernateOrmConfig) -
defineJpaEntities
public void defineJpaEntities(JpaModelIndexBuildItem indexBuildItem, BuildProducer<JpaModelBuildItem> domainObjectsProducer, List<IgnorableNonIndexedClasses> ignorableNonIndexedClassesBuildItems, BuildProducer<ReflectiveClassBuildItem> reflectiveClass, BuildProducer<HotDeploymentWatchedFileBuildItem> hotDeploymentWatchedFiles, List<JpaModelPersistenceUnitContributionBuildItem> jpaModelPuContributions) throws io.quarkus.builder.BuildException - Throws:
io.quarkus.builder.BuildException
-
pregenProxies
public BytecodeRecorderConstantDefinitionBuildItem pregenProxies(JpaModelBuildItem jpaModel, JpaModelIndexBuildItem indexBuildItem, TransformedClassesBuildItem transformedClassesBuildItem, List<PersistenceUnitDescriptorBuildItem> persistenceUnitDescriptorBuildItems, List<AdditionalJpaModelBuildItem> additionalJpaModelBuildItems, BuildProducer<GeneratedClassBuildItem> generatedClassBuildItemBuildProducer, LiveReloadBuildItem liveReloadBuildItem) -
preGenAnnotationProxies
public void preGenAnnotationProxies(List<PersistenceUnitDescriptorBuildItem> persistenceUnitDescriptorBuildItems, BuildProducer<ReflectiveClassBuildItem> reflective, BuildProducer<NativeImageProxyDefinitionBuildItem> proxyDefinitions) -
build
public void build(RecorderContext recorderContext, HibernateOrmRecorder recorder, Capabilities capabilities, JpaModelBuildItem jpaModel, List<PersistenceUnitDescriptorBuildItem> persistenceUnitDescriptorBuildItems, List<HibernateOrmIntegrationStaticConfiguredBuildItem> integrationBuildItems, BuildProducer<BeanContainerListenerBuildItem> beanContainerListener, LaunchModeBuildItem launchMode) throws Exception - Throws:
Exception
-
handleNativeImageImportSql
void handleNativeImageImportSql(BuildProducer<NativeImageResourceBuildItem> resources, List<PersistenceUnitDescriptorBuildItem> descriptors, JpaModelBuildItem jpaModel, LaunchModeBuildItem launchMode) -
enhancerDomainObjects
public HibernateEnhancersRegisteredBuildItem enhancerDomainObjects(JpaModelBuildItem jpaModel, BuildProducer<BytecodeTransformerBuildItem> transformers, List<AdditionalJpaModelBuildItem> additionalJpaModelBuildItems, List<AdditionalJpaModelBuildItem> deprecatedAdditionalJpaModelBuildItems, BuildProducer<GeneratedClassBuildItem> additionalClasses) -
candidatesForFieldAccess
public HibernateModelClassCandidatesForFieldAccessBuildItem candidatesForFieldAccess(JpaModelBuildItem jpaModel) -
build
public void build(HibernateOrmRecorder recorder, HibernateOrmConfig hibernateOrmConfig, HibernateOrmRuntimeConfig hibernateOrmRuntimeConfig, BuildProducer<JpaModelPersistenceUnitMappingBuildItem> jpaModelPersistenceUnitMapping, List<PersistenceUnitDescriptorBuildItem> descriptors, JpaModelBuildItem jpaModel) throws Exception - Throws:
Exception
-
setupPersistenceProvider
public PersistenceProviderSetUpBuildItem setupPersistenceProvider(HibernateOrmRecorder recorder, Capabilities capabilities, HibernateOrmRuntimeConfig hibernateOrmRuntimeConfig, List<HibernateOrmIntegrationRuntimeConfiguredBuildItem> integrationBuildItems, BuildProducer<RecorderBeanInitializedBuildItem> orderEnforcer) -
startPersistenceUnits
public ServiceStartBuildItem startPersistenceUnits(HibernateOrmRecorder recorder, BeanContainerBuildItem beanContainer, List<io.quarkus.agroal.spi.JdbcDataSourceBuildItem> dataSourcesConfigured, JpaModelBuildItem jpaModel, List<io.quarkus.agroal.spi.JdbcDataSourceSchemaReadyBuildItem> schemaReadyBuildItem, List<PersistenceProviderSetUpBuildItem> persistenceProviderSetUp) throws Exception - Throws:
Exception
-
multitenancy
public void multitenancy(HibernateOrmRecorder recorder, List<PersistenceUnitDescriptorBuildItem> persistenceUnitDescriptors, BuildProducer<SyntheticBeanBuildItem> syntheticBeans, BuildProducer<UnremovableBeanBuildItem> unremovableBeans) -
produceLoggingCategories
public void produceLoggingCategories(HibernateOrmConfig hibernateOrmConfig, BuildProducer<LogCategoryBuildItem> categories) -
registerStaticMetamodelClassesForReflection
public void registerStaticMetamodelClassesForReflection(CombinedIndexBuildItem index, BuildProducer<ReflectiveClassBuildItem> reflective) -
registerInjectServiceMethodsForReflection
public void registerInjectServiceMethodsForReflection(CombinedIndexBuildItem index, BuildProducer<ReflectiveClassBuildItem> reflective) -
hasEntities
-
getModelClassesAndPackagesPerPersistenceUnits
public static Map<String,Set<String>> getModelClassesAndPackagesPerPersistenceUnits(HibernateOrmConfig hibernateOrmConfig, JpaModelBuildItem jpaModel, org.jboss.jandex.IndexView index, boolean enableDefaultPersistenceUnit) -
buildQuarkusScanner
Set up the scanner, as this scanning has already been done we need to just tell it about the classes we have discovered. This scanner is bytecode serializable and is passed directly into the recorder- Parameters:
jpaModel- the previously discovered JPA model (domain objects, ...)- Returns:
- a new QuarkusScanner with all domainObjects registered
-