List of usage examples for org.hibernate.boot.registry StandardServiceInitiator StandardServiceInitiator
StandardServiceInitiator
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 av a2s. com 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; } }); }
From source file:com.blazebit.persistence.integration.hibernate.Hibernate52ServiceContributor.java
License:Apache License
@Override public void contribute(StandardServiceRegistryBuilder serviceRegistryBuilder) { serviceRegistryBuilder.addInitiator(new StandardServiceInitiator<Database>() { @Override/*from w w w . j av a 2 s .c o m*/ public Database initiateService(@SuppressWarnings("rawtypes") Map configurationValues, ServiceRegistryImplementor registry) { return null; } @Override public Class<Database> getServiceInitiated() { return Database.class; } }); }
From source file:com.blazebit.persistence.integration.hibernate.Hibernate5ServiceContributor.java
License:Apache License
@Override public void contribute(StandardServiceRegistryBuilder serviceRegistryBuilder) { serviceRegistryBuilder.addInitiator(new StandardServiceInitiator<Database>() { @Override//from ww w .j a va 2s. c o m public Database initiateService(Map configurationValues, ServiceRegistryImplementor registry) { return null; } @Override public Class<Database> getServiceInitiated() { return Database.class; } }); }
From source file:org.babyfish.hibernate.cfg.Configuration.java
License:Open Source License
private static void replacePersisterClassResolver(AbstractServiceRegistryImpl abstractServiceRegistryImpl) { try {//from w ww. ja v a 2s .co m ABSTACT_SERVICE_RESGISTRY_IMPL_CREATE_SERVICE_BINDING.invoke(abstractServiceRegistryImpl, new StandardServiceInitiator<PersisterClassResolver>() { @Override public Class<PersisterClassResolver> getServiceInitiated() { return PersisterClassResolver.class; } @SuppressWarnings("rawtypes") @Override public PersisterClassResolver initiateService(Map configurationValues, ServiceRegistryImplementor registry) { return new org.babyfish.hibernate.persister.StandardPersisterClassResolver(); } }); ABSTACT_SERVICE_RESGISTRY_IMPL_CREATE_SERVICE_BINDING.invoke(abstractServiceRegistryImpl, new StandardServiceInitiator<PersisterFactory>() { @Override public Class<PersisterFactory> getServiceInitiated() { return PersisterFactory.class; } @SuppressWarnings("rawtypes") @Override public PersisterFactory initiateService(Map configurationValues, ServiceRegistryImplementor registry) { return new org.hibernate.persister.internal.PersisterFactoryImpl(); } }); } catch (IllegalAccessException ex) { throw new AssertionError(ex); } catch (InvocationTargetException ex) { UncheckedException.rethrow(ex.getTargetException()); } }