Example usage for org.hibernate.cfg AvailableSettings DIALECT

List of usage examples for org.hibernate.cfg AvailableSettings DIALECT

Introduction

In this page you can find the example usage for org.hibernate.cfg AvailableSettings DIALECT.

Prototype

String DIALECT

To view the source code for org.hibernate.cfg AvailableSettings DIALECT.

Click Source Link

Document

Names the Hibernate SQL org.hibernate.dialect.Dialect class

Usage

From source file:ar.edu.utn.sigmaproject.web.ApplicationConfig.java

License:Open Source License

Properties additionalProperties() {
    Properties properties = new Properties();
    properties.setProperty(AvailableSettings.HBM2DDL_AUTO, this.hbm2ddl);
    properties.setProperty(AvailableSettings.DIALECT, "org.hibernate.dialect.MySQL5InnoDBDialect");
    properties.setProperty(AvailableSettings.ENABLE_LAZY_LOAD_NO_TRANS, "true");
    return properties;
}

From source file:com.foilen.smalltools.tools.Hibernate4Tools.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.  ja  va2s  . c  om
 *            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
 */
@SuppressWarnings("deprecation")
public static void generateSqlSchema(Class<? extends Dialect> dialect, String outputSqlFile,
        boolean useUnderscore, String... packagesToScan) {

    // Configuration
    Configuration configuration = new Configuration();
    if (useUnderscore) {
        configuration.setNamingStrategy(new ImprovedNamingStrategy());
    }

    Properties properties = new Properties();
    properties.setProperty(AvailableSettings.DIALECT, dialect.getName());

    // Scan packages
    Set<String> classNames = new TreeSet<String>();
    Set<String> packageNames = new TreeSet<String>();
    try {
        for (String pkg : packagesToScan) {
            String pattern = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
                    + ClassUtils.convertClassNameToResourcePath(pkg) + RESOURCE_PATTERN;
            Resource[] resources = resourcePatternResolver.getResources(pattern);
            MetadataReaderFactory readerFactory = new CachingMetadataReaderFactory(resourcePatternResolver);
            for (Resource resource : resources) {
                if (resource.isReadable()) {
                    MetadataReader reader = readerFactory.getMetadataReader(resource);
                    String className = reader.getClassMetadata().getClassName();
                    if (matchesEntityTypeFilter(reader, readerFactory)) {
                        classNames.add(className);
                    } else if (className.endsWith(PACKAGE_INFO_SUFFIX)) {
                        packageNames
                                .add(className.substring(0, className.length() - PACKAGE_INFO_SUFFIX.length()));
                    }
                }
            }
        }
    } catch (IOException ex) {
        throw new MappingException("Failed to scan classpath for unlisted classes", ex);
    }
    try {
        for (String className : classNames) {
            configuration.addAnnotatedClass(resourcePatternResolver.getClassLoader().loadClass(className));
        }
        for (String packageName : packageNames) {
            configuration.addPackage(packageName);
        }
    } catch (ClassNotFoundException ex) {
        throw new MappingException("Failed to load annotated classes from classpath", ex);
    }

    // Exportation
    SchemaExport schemaExport = new SchemaExport(configuration, properties);
    schemaExport.setOutputFile(outputSqlFile);
    schemaExport.setDelimiter(";");
    schemaExport.setFormat(true);
    schemaExport.execute(true, false, false, 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/*from  w  ww.ja 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());
    }

    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/*w ww.j  av  a  2s  . 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.github.javarch.persistence.orm.hibernate.conf.HibernatePropertiesConfig.java

License:Apache License

/**
 * Retorna um objeto Properties com todas as configuraes de propriedades que devem
 * ser passadas ao {@link SessionFactory}. As propriedades so definidas no arquivo
 * hibernate.properties que deve estar presente no raiz do classpath.
 * /*from   ww w .  java 2  s. c  o  m*/
 * @return Properties do Hibernate.
 */
@Bean
public Properties hibernateProperties() {

    Properties props = new Properties();

    props.put(AvailableSettings.DIALECT, env.getRequiredProperty(AvailableSettings.DIALECT));

    if (env.acceptsProfiles(Profiles.TEST)) {
        props.put(AvailableSettings.HBM2DDL_AUTO, env.getProperty(AvailableSettings.HBM2DDL_AUTO, "update"));
    }

    if (env.acceptsProfiles(Profiles.MULT_TENANT)) {
        if (log.isDebugEnabled()) {
            log.debug("Profile Multi Tenancy ativado! Realizando configurao...");
        }
        if (currentIdentifierResolver == null || env.acceptsProfiles(Profiles.PRODUCTION)) {
            throw new DatabaseConfigurationException(
                    "No foi encontrado nenhum objeto CurrentIdentifierResolver.");
        }
        props.put(AvailableSettings.MULTI_TENANT_IDENTIFIER_RESOLVER, currentIdentifierResolver);
        props.put(AvailableSettings.DATASOURCE, env.getRequiredProperty(AvailableSettings.DATASOURCE));
        props.put(AvailableSettings.MULTI_TENANT_CONNECTION_PROVIDER, multiTenantConnectionProvider);
        props.put(AvailableSettings.MULTI_TENANT, env.getRequiredProperty(AvailableSettings.MULTI_TENANT));
    } else {

        props.put(AvailableSettings.USE_SECOND_LEVEL_CACHE, true);
        props.put(AvailableSettings.USE_QUERY_CACHE, true);
        props.put(AvailableSettings.CACHE_REGION_FACTORY, "org.hibernate.cache.ehcache.EhCacheRegionFactory");
    }

    if (env.acceptsProfiles(Profiles.ENVERS)) {
        props.put("org.hibernate.envers.versionsTableSuffix", "_audit");
        props.put("org.hibernate.envers.revisionFieldName", "revision");
        props.put("org.hibernate.envers.default_schema", "audit");
    }

    return props;
}

From source file:com.redprairie.moca.crud.TU_AbstractCrudTableCreate.java

License:Open Source License

@BeforeClass
public static void beforeClass() throws SystemConfigurationException {
    ServerContext context = ServerUtils.setupDaemonContext(TU_CrudService.class.getName(), true);

    // We create a temporary table of test_codmst so we can use this for
    // our testing
    StringBuilder tableCreate = new StringBuilder();
    DBType type = context.getDbType();/*from w  w  w  . j  a v a  2s  . c  o  m*/

    DialectFactoryImpl dialectFactory = new DialectFactoryImpl();
    dialectFactory.setClassLoaderService(new ClassLoaderServiceImpl());

    switch (type) {
    case MSSQL:
        _dialect = dialectFactory.buildDialect(Collections.singletonMap(AvailableSettings.DIALECT,
                "com.redprairie.moca.db.hibernate.UnicodeSQLServerDialect"), null);
        break;
    case ORACLE:
        _dialect = dialectFactory.buildDialect(
                Collections.singletonMap(AvailableSettings.DIALECT, "org.hibernate.dialect.Oracle10gDialect"),
                null);
        break;
    default:
        throw new RuntimeException("There was no database supplied!");
    }

    tableCreate.append(_dialect.getCreateTableString());
    tableCreate.append(' ');
    tableCreate.append(tableName);
    tableCreate.append(" ( ");

    if (type.equals(DBType.MSSQL)) {
        //identity column
        tableCreate.append("rowid");
        tableCreate.append(' ');
        tableCreate.append(_dialect.getTypeName(Types.INTEGER));
        tableCreate.append(' ');
        tableCreate.append(_dialect.getIdentityColumnString(Types.INTEGER));
        tableCreate.append(",  ");
    }

    // colnam
    tableCreate.append("colnam");
    tableCreate.append(' ');
    tableCreate.append(_dialect.getTypeName(Types.VARCHAR, 20, 0, 0));
    tableCreate.append(" not null ");
    tableCreate.append(",  ");
    // codval
    tableCreate.append("codval");
    tableCreate.append(' ');
    tableCreate.append(_dialect.getTypeName(Types.VARCHAR, 40, 0, 0));
    tableCreate.append(" not null ");
    tableCreate.append(", ");
    // change
    tableCreate.append("change");
    tableCreate.append(' ');
    tableCreate.append(_dialect.getTypeName(Types.VARCHAR, 40, 0, 0));
    tableCreate.append(", ");
    // change_dt
    tableCreate.append("change_dt");
    tableCreate.append(' ');
    tableCreate.append(_dialect.getTypeName(Types.TIMESTAMP));
    tableCreate.append(", ");
    // change_int
    tableCreate.append("change_int");
    tableCreate.append(' ');
    tableCreate.append(_dialect.getTypeName(Types.INTEGER));
    tableCreate.append(", ");
    // ins_dt
    tableCreate.append("ins_dt");
    tableCreate.append(' ');
    tableCreate.append(_dialect.getTypeName(Types.TIMESTAMP));
    tableCreate.append(", ");
    // ins_user_id
    tableCreate.append("ins_user_id");
    tableCreate.append(' ');
    tableCreate.append(_dialect.getTypeName(Types.VARCHAR, 20, 0, 0));
    tableCreate.append(", ");
    // last_upd_dt
    tableCreate.append("last_upd_dt");
    tableCreate.append(' ');
    tableCreate.append(_dialect.getTypeName(Types.TIMESTAMP));
    tableCreate.append(", ");
    // last_upd_user_id
    tableCreate.append("last_upd_user_id");
    tableCreate.append(' ');
    tableCreate.append(_dialect.getTypeName(Types.VARCHAR, 20, 0, 0));
    tableCreate.append(", ");
    // u_version
    tableCreate.append("u_version");
    tableCreate.append(' ');
    tableCreate.append(_dialect.getTypeName(Types.INTEGER));
    tableCreate.append(", ");
    // defaulted not null flag
    tableCreate.append("def_flg");
    tableCreate.append(' ');
    tableCreate.append(_dialect.getTypeName(Types.INTEGER));
    tableCreate.append(" default 1 not null ");
    tableCreate.append(", ");
    // int_non_null value
    tableCreate.append("int_non_null");
    tableCreate.append(' ');
    tableCreate.append(_dialect.getTypeName(Types.INTEGER));
    tableCreate.append(" not null ");

    tableCreate.append(')');

    Session session = HibernateTools.getSession();

    SQLQuery query = session.createSQLQuery(tableCreate.toString());
    query.executeUpdate();

    // We have to create an index as well, since our list
    StringBuilder indexCreate = new StringBuilder();
    indexCreate.append("alter table ");
    indexCreate.append(tableName);
    indexCreate.append(' ');
    indexCreate.append(_dialect.getAddPrimaryKeyConstraintString("pk"));
    indexCreate.append(" ( colnam, codval )");

    SQLQuery indexQuery = session.createSQLQuery(indexCreate.toString());
    indexQuery.executeUpdate();
}

From source file:com.redprairie.moca.server.db.TU_JDBCAdapter.java

License:Open Source License

private void createTableAndInsert(DBType dbType, Connection connection, long insertCount) throws SQLException {
    DialectFactoryImpl dialectFactory = new DialectFactoryImpl();
    dialectFactory.setClassLoaderService(new ClassLoaderServiceImpl());

    Dialect dialect;//  ww  w  .j a  va  2s. c  o  m
    switch (dbType) {
    case MSSQL:
        dialect = dialectFactory.buildDialect(
                Collections.singletonMap(AvailableSettings.DIALECT, UnicodeSQLServerDialect.class.getName()),
                null);
        break;
    case ORACLE:
        dialect = dialectFactory.buildDialect(
                Collections.singletonMap(AvailableSettings.DIALECT, Oracle10gDialect.class.getName()), null);
        break;
    case H2:
        dialect = dialectFactory.buildDialect(
                Collections.singletonMap(AvailableSettings.DIALECT, H2Dialect.class.getName()), null);
        break;
    default:
        throw new RuntimeException("There was no database supplied!");
    }
    StringBuilder tableCreate = new StringBuilder().append(dialect.getCreateTableString()).append(' ')
            .append(TABLENAME).append(" ( name ").append(dialect.getTypeName(Types.INTEGER)).append(" )");

    Statement stmt = connection.createStatement();
    try {
        stmt.execute(tableCreate.toString());
    } finally {
        stmt.close();
    }

    PreparedStatement pstmt = connection.prepareStatement("INSERT INTO QueryLimitTable (name) VALUES(?)");

    try {
        for (long i = 0; i < insertCount; i++) {
            pstmt.setLong(1, i);
            pstmt.addBatch();
        }

        pstmt.executeBatch();
    } finally {
        pstmt.close();
    }
}

From source file:com.vmware.photon.controller.apife.db.HibernateTestModule.java

License:Open Source License

@Provides
@Singleton/*from www  .j a  v a 2s. c  o m*/
public SessionFactory getSessionFactory() {
    Configuration configuration = new Configuration();

    Reflections reflections = new Reflections("com.vmware.photon.controller.apife.entities");
    Set<Class<?>> classes = reflections.getTypesAnnotatedWith(Entity.class);

    Reflections baseReflections = new Reflections("com.vmware.photon.controller.apife.entities.base");
    classes.addAll(baseReflections.getTypesAnnotatedWith(Entity.class));

    Reflections commonReflections = new Reflections("com.vmware.photon.controller.api.common");
    classes.addAll(commonReflections.getTypesAnnotatedWith(Entity.class));

    for (final Class<?> clazz : classes) {
        configuration.addAnnotatedClass(clazz);
    }

    configuration.setProperty(AvailableSettings.CURRENT_SESSION_CONTEXT_CLASS, "managed");
    configuration.setProperty(AvailableSettings.DIALECT, CustomH2Dialect.class.getName());
    configuration.setProperty(AvailableSettings.DRIVER, "org.h2.Driver");
    // in memory DB, wait up to 10 seconds after last connection closed before deleting data
    configuration.setProperty(AvailableSettings.URL, "jdbc:h2:mem:test;DB_CLOSE_DELAY=10");
    configuration.setProperty(AvailableSettings.HBM2DDL_AUTO, "create");
    configuration.setProperty(AvailableSettings.SHOW_SQL, "true");
    configuration.setNamingStrategy(ImprovedNamingStrategy.INSTANCE);

    ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties())
            .build();

    return configuration.buildSessionFactory(serviceRegistry);
}

From source file:com.vmware.photon.controller.apife.db.MigrationTest.java

License:Open Source License

@Test
public void testMigrations() throws SQLException, LiquibaseException {
    try (Connection connection = DriverManager.getConnection("jdbc:h2:mem:migrations", "sa", "")) {
        Liquibase liquibase = new Liquibase("migrations.xml", new ClassLoaderResourceAccessor(),
                new JdbcConnection(connection));
        liquibase.update("");

        Configuration configuration = new Configuration();

        Reflections reflections = new Reflections("com.vmware.photon.controller.apife.entities");
        Set<Class<?>> classes = reflections.getTypesAnnotatedWith(Entity.class);

        Reflections commonReflections = new Reflections("com.vmware.photon.controller.api.common");
        classes.addAll(commonReflections.getTypesAnnotatedWith(Entity.class));
        for (final Class<?> clazz : classes) {
            configuration.addAnnotatedClass(clazz);
        }//from w  w w.  ja  v  a  2  s  .  c om

        configuration.setProperty(AvailableSettings.CURRENT_SESSION_CONTEXT_CLASS, "thread");
        configuration.setProperty(AvailableSettings.DIALECT, "org.hibernate.dialect.H2Dialect");
        configuration.setProperty(AvailableSettings.DRIVER, "org.h2.Driver");
        configuration.setProperty(AvailableSettings.URL, "jdbc:h2:mem:migrations");
        configuration.setProperty(AvailableSettings.USER, "sa");
        configuration.setProperty(AvailableSettings.PASS, "");
        configuration.setProperty(AvailableSettings.HBM2DDL_AUTO, "validate");
        configuration.setNamingStrategy(ImprovedNamingStrategy.INSTANCE);

        ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()
                .applySettings(configuration.getProperties()).build();

        SessionFactory factory = configuration.buildSessionFactory(serviceRegistry);
        factory.close();
    }
}

From source file:de.kaiserpfalzEdv.infopir.backend.db.PersistenceConfiguration.java

License:Apache License

@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
    LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
    entityManagerFactoryBean.setDataSource(dataSource());
    entityManagerFactoryBean.setPersistenceProviderClass(HibernatePersistenceProvider.class);
    entityManagerFactoryBean/*  w  w  w  .j  ava2s. c om*/
            .setPackagesToScan(env.getRequiredProperty(PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN));

    Properties hibProperties = hibProperties();
    entityManagerFactoryBean.setJpaProperties(hibProperties);

    LOG.debug("Packages to scan: {}", env.getRequiredProperty(PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN));
    LOG.debug("Data Source: {}", dataSource());
    LOG.debug("Persistent Provider: {}", HibernatePersistenceProvider.class.getCanonicalName());
    LOG.trace("HBM2DDL Auto Setting: {}", hibProperties.getProperty(AvailableSettings.HBM2DDL_AUTO));
    LOG.trace("Hibernate Dialect: {}", hibProperties.getProperty(AvailableSettings.DIALECT));
    LOG.trace("Show SQL: {}", hibProperties.get(AvailableSettings.SHOW_SQL));
    return entityManagerFactoryBean;
}