@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 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 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 { LOG.warning("Can't replace hibernate.hql.bulk_id_strategy because it was overridden by the user with: " + o); } }