void addAttributeConverter(ConverterDescriptor descriptor);
default <O, R> void addAttributeConverter(Class<? extends AttributeConverter<O, R>> converterClass) { addAttributeConverter( new ClassBasedConverterDescriptor( converterClass, getBootstrapContext().getClassmateContext() ) ); }
@Override public void contribute(InFlightMetadataCollector metadataCollector, IndexView jandexIndex) { ServiceBinding.ServiceLifecycleOwner lifecycleOwner = (ServiceBinding.ServiceLifecycleOwner) metadataCollector.getBootstrapContext().getServiceRegistry(); lifecycleOwner.configureService(new ServiceBinding<>(lifecycleOwner, Hibernate53MetadataContributor.class, this)); Object existingStrategy = configurationValues.get("hibernate.hql.bulk_id_strategy"); if (existingStrategy == null) { JdbcServices jdbcService = metadataCollector.getBootstrapContext().getServiceRegistry().getService(JdbcServices.class); MultiTableBulkIdStrategy defaultMultiTableBulkIdStrategy = jdbcService.getDialect().getDefaultMultiTableBulkIdStrategy(); configurationValues.put("hibernate.hql.bulk_id_strategy", new CustomMultiTableBulkIdStrategy(defaultMultiTableBulkIdStrategy)); } else { LOG.warning("Can't replace hibernate.hql.bulk_id_strategy because it was overridden by the user with: " + existingStrategy); } // Skip if already registered if (metadataCollector.getEntityBinding("com.blazebit.persistence.impl.function.entity.ValuesEntity") != null) { return; } MetadataBuildingContext metadataBuildingContext = new MetadataBuildingContextRootImpl( metadataCollector.getBootstrapContext(), metadataCollector.getMetadataBuildingOptions(), metadataCollector); addEntity("com.blazebit.persistence.impl.function.entity.ValuesEntity", metadataBuildingContext); }
@Override public void contribute(InFlightMetadataCollector metadataCollector, IndexView jandexIndex) { ServiceBinding.ServiceLifecycleOwner lifecycleOwner = (ServiceBinding.ServiceLifecycleOwner) metadataCollector.getBootstrapContext().getServiceRegistry(); lifecycleOwner.configureService(new ServiceBinding<>(lifecycleOwner, Hibernate53MetadataContributor.class, this)); Object existingStrategy = configurationValues.get("hibernate.hql.bulk_id_strategy"); if (existingStrategy == null) { JdbcServices jdbcService = metadataCollector.getBootstrapContext().getServiceRegistry().getService(JdbcServices.class); MultiTableBulkIdStrategy defaultMultiTableBulkIdStrategy = jdbcService.getDialect().getDefaultMultiTableBulkIdStrategy(); configurationValues.put("hibernate.hql.bulk_id_strategy", new CustomMultiTableBulkIdStrategy(defaultMultiTableBulkIdStrategy)); } else { LOG.warning("Can't replace hibernate.hql.bulk_id_strategy because it was overridden by the user with: " + existingStrategy); } // Skip if already registered if (metadataCollector.getEntityBinding("com.blazebit.persistence.impl.function.entity.ValuesEntity") != null) { return; } MetadataBuildingContext metadataBuildingContext = new MetadataBuildingContextRootImpl( metadataCollector.getBootstrapContext(), metadataCollector.getMetadataBuildingOptions(), metadataCollector); addEntity("com.blazebit.persistence.impl.function.entity.ValuesEntity", metadataBuildingContext); }
private ClassesAuditingData prepare(InFlightMetadataCollector metadata) { final ReflectionManager reflectionManager = metadata.getBootstrapContext().getReflectionManager(); final ClassesAuditingData classesAuditingData = new ClassesAuditingData(); final Iterator<PersistentClass> classes = sort( new PersistentClassGraphDefiner( metadata ) ).iterator(); while ( classes.hasNext() ) { final PersistentClass persistentClass = classes.next(); if ( persistentClass.getClassName() != null ) { try { final XClass clazz =reflectionManager.classForName( persistentClass.getClassName() ); final AnnotationsMetadataReader reader = new AnnotationsMetadataReader( auditMetadataBuilder.getAuditMetadataBuildingOptions(), reflectionManager, persistentClass, clazz ); classesAuditingData.addClassAuditingData( persistentClass, reader.getAuditData() ); } catch ( ClassLoadingException e ) { // todo: log a warning? } } } classesAuditingData.updateCalculatedFields(); return classesAuditingData; }
public RevisionInfoConfigurationBuilder( InFlightMetadataCollector metadata, AuditMetadataBuilderImplementor auditMetadataBuilder) { this.metadata = metadata; this.reflectionManager = metadata.getBootstrapContext().getReflectionManager(); this.options = auditMetadataBuilder.getAuditMetadataBuildingOptions(); this.auditMetadataBuilder = auditMetadataBuilder; this.xmlHelper = new XMLHelper( options.getServiceRegistry().getService( ClassLoaderService.class ) ); if ( options.isUseRevisionEntityWithNativeIdEnabled() ) { revisionInfoEntityName = "org.hibernate.envers.DefaultRevisionEntity"; } else { revisionInfoEntityName = "org.hibernate.envers.enhanced.SequenceIdRevisionEntity"; } revisionInfoIdData = new PropertyData( "id", "id", "field" ); revisionInfoTimestampData = new RevisionTimestampData( "timestamp", "timestamp", "field", LongJavaDescriptor.INSTANCE ); modifiedEntityNamesData = new PropertyData( "modifiedEntityNames", "modifiedEntityNames", "field" ); revisionPropType = StandardSpiBasicTypes.INTEGER; }
final ReflectionManager reflectionManager = mainGenerator.getMetadata().getBootstrapContext().getReflectionManager();