List of usage examples for org.hibernate.boot.registry StandardServiceRegistryBuilder applySetting
@SuppressWarnings({ "unchecked", "UnusedDeclaration" }) public StandardServiceRegistryBuilder applySetting(String settingName, Object value)
From source file:com.booleanworks.peacockmantisshrimp.modules.hibernate.mongodbogm.HibernateOgmBootstapper.java
public boolean bootstrap() throws OgmHelperException { this.checkConfigurationAndUpdateStatus(); if (this.getStatus() != Status.goodConfiguration) { Logger.getLogger(this.getClass().getCanonicalName()).log(Level.SEVERE, "Bootstrapper seems to be in a bad configuration... aborting."); return false; }/*from w w w .j a v a2 s . com*/ if (this.getStatus() == Status.bootstrapping) { throw new OgmHelperException("already bootstrapping !!"); } this.setStatus(Status.bootstrapping); StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder(); //And specific config ssrb.applySetting(OgmProperties.ENABLED, true); //assuming you are using JTA in a non container environment //ssrb.applySetting(AvailableSettings.TRANSACTION_COORDINATOR_STRATEGY, "jta"); //assuming JBoss TransactionManager in standalone mode //ssrb.applySetting(AvailableSettings.JTA_PLATFORM, "JBossTS"); //Using provided settings ssrb.applySettings(this.getSettings()); if (this.getSettings().containsKey(OgmProperties.DATASTORE_PROVIDER)) { String providerValue = (String) this.getSettings().get(OgmProperties.DATASTORE_PROVIDER); if (providerValue.toLowerCase().equals("mongodb")) { Logger.getLogger(this.getClass().getCanonicalName()).log(Level.INFO, "Detecting MongoDb provider.... doing additional checks"); if (!this.getSettings().containsKey(MongoDBProperties.AUTHENTICATION_MECHANISM)) { AuthenticationMechanismType authenticationMechanismType = AuthenticationMechanismType.SCRAM_SHA_1; Logger.getLogger(this.getClass().getCanonicalName()).log(Level.WARNING, "No MongoDb authentication mecanism set, patching configuration, setting to " + authenticationMechanismType.name()); this.getSettings().put(MongoDBProperties.AUTHENTICATION_MECHANISM, authenticationMechanismType); Logger.getLogger(this.getClass().getCanonicalName()).log(Level.WARNING, "Current setings are: " + this.getSettings().toString()); } } } //saving ssrb this.setStandardServiceRegistryBuilder(ssrb); //building registry StandardServiceRegistry registry = ssrb.build(); if (registry == null) { throw new OgmHelperException("Failed to get a registry !!"); } //saving registry this.setStandardServiceRegistry(registry); MetadataSources ms = new MetadataSources(registry); for (Class cEntity : this.getDeclaredEntities()) { ms.addAnnotatedClass(cEntity); Logger.getLogger(this.getClass().getCanonicalName()).log(Level.INFO, "Added entity: " + cEntity.getCanonicalName()); } Metadata md = ms.buildMetadata(registry); SessionFactoryBuilder sfb = md.getSessionFactoryBuilder(); OgmSessionFactory osf = sfb.unwrap(OgmSessionFactoryBuilder.class).build(); //Saving the MetadataSources this.setMetadataSources(ms); //Saving SessionFactoryBuilder this.setSessionFactoryBuilder(sfb); //Savinf the OgmSessionFactory this.setOgmSessionFactory(osf); this.setStatus(Status.ready); return true; }
From source file:com.foilen.smalltools.tools.Hibernate50Tools.java
License:Open Source License
/** * Generate the SQL file. This is based on the code in {@link LocalSessionFactoryBuilder#scanPackages(String...)} * * @param dialect/*ww w . j av a2s . co m*/ * the dialect (e.g: org.hibernate.dialect.MySQL5InnoDBDialect ) * @param outputSqlFile * where to put the generated SQL file * @param useUnderscore * true: to have tables names like "employe_manager" ; false: to have tables names like "employeManager" * @param packagesToScan * the packages where your entities are */ public static void generateSqlSchema(Class<? extends Dialect> dialect, String outputSqlFile, boolean useUnderscore, String... packagesToScan) { BootstrapServiceRegistry bootstrapServiceRegistry = new BootstrapServiceRegistryBuilder().build(); MetadataSources metadataSources = new MetadataSources(bootstrapServiceRegistry); ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider( false); scanner.addIncludeFilter(new AnnotationTypeFilter(Entity.class)); scanner.addIncludeFilter(new AnnotationTypeFilter(Embeddable.class)); scanner.addIncludeFilter(new AnnotationTypeFilter(MappedSuperclass.class)); for (String pkg : packagesToScan) { for (BeanDefinition beanDefinition : scanner.findCandidateComponents(pkg)) { metadataSources.addAnnotatedClassName(beanDefinition.getBeanClassName()); } } StandardServiceRegistryBuilder standardServiceRegistryBuilder = new StandardServiceRegistryBuilder( bootstrapServiceRegistry); standardServiceRegistryBuilder.applySetting(AvailableSettings.DIALECT, dialect.getName()); StandardServiceRegistryImpl ssr = (StandardServiceRegistryImpl) standardServiceRegistryBuilder.build(); MetadataBuilder metadataBuilder = metadataSources.getMetadataBuilder(ssr); if (useUnderscore) { metadataBuilder.applyImplicitNamingStrategy(new SpringImplicitNamingStrategy()); metadataBuilder.applyPhysicalNamingStrategy(new SpringPhysicalNamingStrategy()); } MetadataImpl metadata = (MetadataImpl) metadataBuilder.build(); // Exportation SchemaExport schemaExport = new SchemaExport(metadata); schemaExport.setOutputFile(outputSqlFile); schemaExport.setDelimiter(";"); schemaExport.setFormat(true); schemaExport.execute(true, false, false, true); }
From source file:com.foilen.smalltools.tools.Hibernate51Tools.java
License:Open Source License
/** * Generate the SQL file. This is based on the code in {@link LocalSessionFactoryBuilder#scanPackages(String...)} * * @param dialect/*from w w w.j a v a 2 s . c o m*/ * the dialect (e.g: org.hibernate.dialect.MySQL5InnoDBDialect ) * @param outputSqlFile * where to put the generated SQL file * @param useUnderscore * true: to have tables names like "employe_manager" ; false: to have tables names like "employeManager" * @param packagesToScan * the packages where your entities are */ public static void generateSqlSchema(Class<? extends Dialect> dialect, String outputSqlFile, boolean useUnderscore, String... packagesToScan) { BootstrapServiceRegistry bootstrapServiceRegistry = new BootstrapServiceRegistryBuilder().build(); MetadataSources metadataSources = new MetadataSources(bootstrapServiceRegistry); ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider( false); scanner.addIncludeFilter(new AnnotationTypeFilter(Entity.class)); scanner.addIncludeFilter(new AnnotationTypeFilter(Embeddable.class)); scanner.addIncludeFilter(new AnnotationTypeFilter(MappedSuperclass.class)); for (String pkg : packagesToScan) { for (BeanDefinition beanDefinition : scanner.findCandidateComponents(pkg)) { metadataSources.addAnnotatedClassName(beanDefinition.getBeanClassName()); } } StandardServiceRegistryBuilder standardServiceRegistryBuilder = new StandardServiceRegistryBuilder( bootstrapServiceRegistry); standardServiceRegistryBuilder.applySetting(AvailableSettings.DIALECT, dialect.getName()); StandardServiceRegistryImpl ssr = (StandardServiceRegistryImpl) standardServiceRegistryBuilder.build(); MetadataBuilder metadataBuilder = metadataSources.getMetadataBuilder(ssr); if (useUnderscore) { metadataBuilder.applyImplicitNamingStrategy(new SpringImplicitNamingStrategy()); metadataBuilder.applyPhysicalNamingStrategy(new SpringPhysicalNamingStrategy()); } new SchemaExport() // .setHaltOnError(true) // .setOutputFile(outputSqlFile) // .setFormat(true) // .setDelimiter(";") // .execute(EnumSet.of(TargetType.SCRIPT), SchemaExport.Action.CREATE, metadataBuilder.build()); }
From source file:com.zeroone.guestebook.domain.SchemaGenerator.java
License:Apache License
public SchemaGenerator(String packageName, Dialect dialect) throws Exception { BootstrapServiceRegistry bsr;/*from w w w. j ava 2 s .co m*/ bsr = new BootstrapServiceRegistryBuilder().build(); StandardServiceRegistryBuilder ssrBuilder; ssrBuilder = new StandardServiceRegistryBuilder(bsr); ssrBuilder.applySetting("hibernate.dialect", dialect.dialectClass); ServiceRegistry serviceRegistry = ssrBuilder.build(); MetadataSources metadataSources = new MetadataSources(serviceRegistry); for (Class<?> clazz : getClasses(packageName)) { metadataSources.addAnnotatedClass(clazz); } MetadataBuilder metadataBuilder = metadataSources.getMetadataBuilder(); this.metadata = (MetadataImplementor) metadataBuilder.build(); this.dialect = dialect; }
From source file:de.jpdigital.maven.plugins.hibernate5ddl.GenerateDdlMojo.java
License:Open Source License
/** * Helper method for generating the DDL classes for a specific dialect. This * is place for the real work is done. The method first creates an instance * of the {@link Configuration} class from Hibernate an puts the appropriate * values into it. It then creates an instance of the {@link SchemaExport} * class from the Hibernate API, configured this class, for example by * setting {@code format} to {@code true} so that the generated SQL files * are formatted nicely. After that it calls the * {@link SchemaExport#execute(boolean, boolean, boolean, boolean)} method * which will create the SQL script file. The method is called in a way * which requires <em>no</em> database connection. * * * @param dialect The dialect for which the DDL files is generated. * @param entityClasses The entity classes for which the DDL file is * generated./*from w ww . ja v a2 s. co m*/ * * @throws MojoFailureException if something goes wrong. */ private void generateDdl(final Dialect dialect, final Set<Class<?>> entityClasses) throws MojoFailureException { final StandardServiceRegistryBuilder registryBuilder = new StandardServiceRegistryBuilder(); processPersistenceXml(registryBuilder); if (createDropStatements) { registryBuilder.applySetting("hibernate.hbm2ddl.auto", "create-drop"); } else { registryBuilder.applySetting("hibernate.hbm2ddl.auto", "create"); } registryBuilder.applySetting("hibernate.dialect", dialect.getDialectClass()); final StandardServiceRegistry standardRegistry = registryBuilder.build(); final MetadataSources metadataSources = new MetadataSources(standardRegistry); for (final Class<?> entityClass : entityClasses) { metadataSources.addAnnotatedClass(entityClass); } final SchemaExport export = new SchemaExport(); // final SchemaExport export = new SchemaExport( // (MetadataImplementor) metadata, true); export.setDelimiter(";"); final Path tmpDir; try { tmpDir = Files.createTempDirectory("maven-hibernate5-ddl-plugin"); } catch (IOException ex) { throw new MojoFailureException("Failed to create work dir.", ex); } final Metadata metadata = metadataSources.buildMetadata(); export.setOutputFile( String.format("%s/%s.sql", tmpDir.toString(), dialect.name().toLowerCase(Locale.ENGLISH))); export.setFormat(true); if (createDropStatements) { export.execute(EnumSet.of(TargetType.SCRIPT), SchemaExport.Action.BOTH, metadata); } else { export.execute(EnumSet.of(TargetType.SCRIPT), SchemaExport.Action.CREATE, metadata); } writeOutputFile(dialect, tmpDir); }
From source file:example.HHH9788Test.java
License:Apache License
@Before public void setUp() { StandardServiceRegistryBuilder registryBuilder = new StandardServiceRegistryBuilder(); registryBuilder.applySetting("hibernate.dialect", "org.hibernate.dialect.HSQLDialect"); registryBuilder.applySetting("hibernate.connection.driver_class", "org.hsqldb.jdbcDriver"); registryBuilder.applySetting("hibernate.connection.username", "sa"); registryBuilder.applySetting("hibernate.connection.password", ""); registryBuilder.applySetting("hibernate.connection.url", "jdbc:hsqldb:mem:test"); this.serviceRegistry = registryBuilder.build(); MetadataSources sources = new MetadataSources(serviceRegistry); sources.addAnnotatedClass(Role.class); sources.addAnnotatedClass(User.class); this.metadata = (MetadataImplementor) sources.buildMetadata(); }
From source file:org.apache.ignite.cache.hibernate.HibernateL2CacheStrategySelfTest.java
License:Apache License
/** * @param accessType Cache access typr./* ww w . j av a 2 s. c o m*/ * @param igniteInstanceName Name of the grid providing caches. * @return Session factory. */ private SessionFactory startHibernate(AccessType accessType, String igniteInstanceName) { StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder(); builder.applySetting("hibernate.connection.url", CONNECTION_URL); for (Map.Entry<String, String> e : HibernateL2CacheSelfTest .hibernateProperties(igniteInstanceName, accessType.name()).entrySet()) builder.applySetting(e.getKey(), e.getValue()); builder.applySetting(USE_STRUCTURED_CACHE, "true"); builder.applySetting(REGION_CACHE_PROPERTY + ENTITY1_NAME, "cache1"); builder.applySetting(REGION_CACHE_PROPERTY + ENTITY2_NAME, "cache2"); builder.applySetting(REGION_CACHE_PROPERTY + TIMESTAMP_CACHE, TIMESTAMP_CACHE); builder.applySetting(REGION_CACHE_PROPERTY + QUERY_CACHE, QUERY_CACHE); MetadataSources metadataSources = new MetadataSources(builder.build()); metadataSources.addAnnotatedClass(Entity1.class); metadataSources.addAnnotatedClass(Entity2.class); metadataSources.addAnnotatedClass(Entity3.class); metadataSources.addAnnotatedClass(Entity4.class); Metadata metadata = metadataSources.buildMetadata(); for (PersistentClass entityBinding : metadata.getEntityBindings()) { if (!entityBinding.isInherited()) ((RootClass) entityBinding).setCacheConcurrencyStrategy(accessType.getExternalName()); } return metadata.buildSessionFactory(); }
From source file:org.infinispan.test.hibernate.cache.AbstractNonFunctionalTest.java
License:LGPL
protected StandardServiceRegistryBuilder createStandardServiceRegistryBuilder() { final StandardServiceRegistryBuilder ssrb = CacheTestUtil.buildBaselineStandardServiceRegistryBuilder( REGION_PREFIX, getRegionFactoryClass(), true, false, jtaPlatform); ssrb.applySetting(TestInfinispanRegionFactory.TRANSACTIONAL, accessType == AccessType.TRANSACTIONAL); ssrb.applySetting(TestInfinispanRegionFactory.CACHE_MODE, cacheMode); return ssrb;/*from w ww . j a v a2 s .c o m*/ }
From source file:org.infinispan.test.hibernate.cache.commons.AbstractNonFunctionalTest.java
License:LGPL
protected StandardServiceRegistryBuilder createStandardServiceRegistryBuilder() { final StandardServiceRegistryBuilder ssrb = CacheTestUtil .buildBaselineStandardServiceRegistryBuilder(REGION_PREFIX, true, false, jtaPlatform); ssrb.applySetting(TestRegionFactory.TRANSACTIONAL, TestRegionFactoryProvider.load().supportTransactionalCaches() && accessType == AccessType.TRANSACTIONAL); ssrb.applySetting(TestRegionFactory.CACHE_MODE, cacheMode); return ssrb;/* www . jav a2s. co m*/ }
From source file:org.infinispan.test.hibernate.cache.commons.functional.cluster.SessionRefreshTest.java
License:LGPL
@Override protected void configureSecondNode(StandardServiceRegistryBuilder ssrb) { super.configureSecondNode(ssrb); ssrb.applySetting(Environment.USE_SECOND_LEVEL_CACHE, "false"); }