List of usage examples for org.hibernate.boot.registry StandardServiceRegistryBuilder getBootstrapServiceRegistry
@SuppressWarnings("unused") public BootstrapServiceRegistry getBootstrapServiceRegistry()
From source file:com.blazebit.persistence.integration.hibernate.Hibernate43Integrator.java
License:Apache License
@Override public void prepareServices(final StandardServiceRegistryBuilder serviceRegistryBuilder) { final StrategySelector strategySelector = serviceRegistryBuilder.getBootstrapServiceRegistry() .getService(StrategySelector.class); serviceRegistryBuilder.addService(StrategySelector.class, new StrategySelector() { @Override//from w ww. j a va2 s .c om public <T> void registerStrategyImplementor(Class<T> aClass, String s, Class<? extends T> aClass1) { strategySelector.registerStrategyImplementor(aClass, s, aClass1); } @Override public <T> void unRegisterStrategyImplementor(Class<T> aClass, Class<? extends T> aClass1) { strategySelector.unRegisterStrategyImplementor(aClass, aClass1); } @Override public <T> Class<? extends T> selectStrategyImplementor(Class<T> aClass, String s) { return strategySelector.selectStrategyImplementor(aClass, s); } @Override public <T> T resolveStrategy(Class<T> aClass, Object o) { if (MultiTableBulkIdStrategy.class == aClass) { if (o == null) { ServiceRegistry serviceRegistry = SERVICE_REGISTRY_ACCESS.get(); SERVICE_REGISTRY_ACCESS.remove(); return (T) new CustomMultiTableBulkIdStrategy(serviceRegistry.getService(JdbcServices.class) .getDialect().supportsTemporaryTables() ? TemporaryTableBulkIdStrategy.INSTANCE : new PersistentTableBulkIdStrategy()); } else { LOG.warning( "Can't replace hibernate.hql.bulk_id_strategy because it was overridden by the user with: " + o); } } return strategySelector.resolveStrategy(aClass, o); } @Override public <T> T resolveDefaultableStrategy(Class<T> aClass, Object o, T t) { return strategySelector.resolveDefaultableStrategy(aClass, o, t); } }); serviceRegistryBuilder.addInitiator(new StandardServiceInitiator<Database>() { @Override public Database initiateService(@SuppressWarnings("rawtypes") Map configurationValues, ServiceRegistryImplementor registry) { return null; } @Override public Class<Database> getServiceInitiated() { return Database.class; } }); }