Example usage for org.hibernate.service.spi ServiceBinding ServiceBinding

List of usage examples for org.hibernate.service.spi ServiceBinding ServiceBinding

Introduction

In this page you can find the example usage for org.hibernate.service.spi ServiceBinding ServiceBinding.

Prototype

public ServiceBinding(ServiceLifecycleOwner lifecycleOwner, Class<R> serviceRole, R service) 

Source Link

Usage

From source file:com.blazebit.persistence.integration.hibernate.Hibernate4Integrator.java

License:Apache License

@Override
public void contribute(TypeContributions typeContributions, ServiceRegistry serviceRegistry) {
    ((StandardServiceRegistryImpl) serviceRegistry).configureService(new ServiceBinding<>(
            (ServiceBinding.ServiceLifecycleOwner) serviceRegistry, Hibernate4Integrator.class, this));
    Object o = configuration.get("hibernate.hql.bulk_id_strategy");
    if (o == null) {
        serviceRegistry.getService(JdbcServices.class).getDialect().getDefaultProperties()
                .put("hibernate.hql.bulk_id_strategy",
                        new CustomMultiTableBulkIdStrategy(serviceRegistry.getService(JdbcServices.class)
                                .getDialect().supportsTemporaryTables() ? TemporaryTableBulkIdStrategy.INSTANCE
                                        : new PersistentTableBulkIdStrategy()));
    } else {//  w  w  w  . j  av  a 2 s  . c  o m
        LOG.warning("Can't replace hibernate.hql.bulk_id_strategy because it was overridden by the user with: "
                + o);
    }
}

From source file:com.blazebit.persistence.integration.hibernate.Hibernate52MetadataContributor.java

License:Apache License

@Override
public void contribute(InFlightMetadataCollector metadataCollector, IndexView jandexIndex) {
    ServiceBinding.ServiceLifecycleOwner lifecycleOwner = (ServiceBinding.ServiceLifecycleOwner) metadataCollector
            .getMetadataBuildingOptions().getServiceRegistry();
    lifecycleOwner/*  w w  w.j a  v  a 2  s  .co m*/
            .configureService(new ServiceBinding<>(lifecycleOwner, Hibernate52MetadataContributor.class, this));
    Object existingStrategy = configurationValues.get("hibernate.hql.bulk_id_strategy");
    if (existingStrategy == null) {
        JdbcServices jdbcService = metadataCollector.getMetadataBuildingOptions().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;
    }

    MetadataBuildingOptions options = metadataCollector.getMetadataBuildingOptions();
    final ClassLoaderService classLoaderService = options.getServiceRegistry()
            .getService(ClassLoaderService.class);

    final ClassLoaderAccess classLoaderAccess = new ClassLoaderAccessImpl(options.getTempClassLoader(),
            classLoaderService);

    MetadataBuildingContext metadataBuildingContext = new MetadataBuildingContextRootImpl(options,
            classLoaderAccess, metadataCollector);

    addEntity("com.blazebit.persistence.impl.function.entity.ValuesEntity", metadataBuildingContext);
}

From source file:com.blazebit.persistence.integration.hibernate.Hibernate53MetadataContributor.java

License:Apache License

@Override
public void contribute(InFlightMetadataCollector metadataCollector, IndexView jandexIndex) {
    ServiceBinding.ServiceLifecycleOwner lifecycleOwner = (ServiceBinding.ServiceLifecycleOwner) metadataCollector
            .getBootstrapContext().getServiceRegistry();
    lifecycleOwner/*from w  w w.  j a v a  2  s .c  o  m*/
            .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);
}

From source file:com.blazebit.persistence.integration.hibernate.Hibernate5MetadataContributor.java

License:Apache License

@Override
public void contribute(InFlightMetadataCollector metadataCollector, IndexView jandexIndex) {
    ServiceBinding.ServiceLifecycleOwner lifecycleOwner = (ServiceBinding.ServiceLifecycleOwner) metadataCollector
            .getMetadataBuildingOptions().getServiceRegistry();
    lifecycleOwner//from w ww.ja va 2 s  .  c  om
            .configureService(new ServiceBinding<>(lifecycleOwner, Hibernate5MetadataContributor.class, this));
    Object existingStrategy = configurationValues.get("hibernate.hql.bulk_id_strategy");
    if (existingStrategy == null) {
        JdbcServices jdbcService = metadataCollector.getMetadataBuildingOptions().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;
    }

    MetadataBuildingOptions options = metadataCollector.getMetadataBuildingOptions();
    final ClassLoaderService classLoaderService = options.getServiceRegistry()
            .getService(ClassLoaderService.class);

    final ClassLoaderAccess classLoaderAccess = new ClassLoaderAccessImpl(options.getTempClassLoader(),
            classLoaderService);

    MetadataBuildingContext metadataBuildingContext = new MetadataBuildingContextRootImpl(options,
            classLoaderAccess, metadataCollector);

    addEntity("com.blazebit.persistence.impl.function.entity.ValuesEntity", metadataBuildingContext);
}