Example usage for org.hibernate.cfg Configuration mergeProperties

List of usage examples for org.hibernate.cfg Configuration mergeProperties

Introduction

In this page you can find the example usage for org.hibernate.cfg Configuration mergeProperties.

Prototype

public Configuration mergeProperties(Properties properties) 

Source Link

Document

Adds the incoming properties to the internal properties structure, as long as the internal structure does not already contain an entry for the given key.

Usage

From source file:cn.json.quicknCore.common.AbstractApplication.java

public void hibernateInit() {
    Properties properties = new Properties();
    Configuration cfg = new Configuration();
    // add model class to configuration.
    ArrayList<Class<?>> models = QuickUtils.getPackageClasses(Setting.packageRoot + ".model", null,
            Entity.class);
    models.addAll(QuickUtils.getPackageClassInJar(Setting.webRoot + "WEB-INF/lib/quick.jar",
            Setting.packageRoot + ".model", null, Entity.class));
    for (Plugin plugin : Setting.plugins) {
        if (plugin.getModels() != null)
            models.addAll(plugin.getModels());
    }/* ww  w . j a va 2  s  . c om*/
    for (Class<?> model : models) {
        cfg.addAnnotatedClass(model);
    }

    models = getModels();
    if (models != null) {
        for (Class<?> model : models) {
            cfg.addAnnotatedClass(model);
        }
    }

    // dialectjdbcjdbc?mysqlinnodb for
    // mysql5dialect???
    if (Setting.dialect != null && Setting.dialect.length() > 0)
        properties.put("hibernate.dialect", Setting.dialect);
    else
        properties.put("hibernate.dialect", QuickUtils.getDialectByDriver(Setting.jdbcDriver));
    properties.put("hibernate.connection.driver_class", Setting.jdbcDriver);
    properties.put("hibernate.connection.url", Setting.jdbcUrl);
    properties.put("hibernate.connection.username", Setting.jdbcUser);
    properties.put("hibernate.connection.password", Setting.jdbcPassword);
    properties.put("hibernate.connection.provider_class", "org.hibernate.connection.C3P0ConnectionProvider");
    properties.put("hibernate.c3p0.min_size", Setting.initActive + "");
    properties.put("hibernate.c3p0.max_size", Setting.maxActive + "");
    properties.put("hibernate.c3p0.timeout", Setting.maxIdle + "");
    properties.put("hibernate.c3p0.idle_test_period", "600");//10
    properties.put("hibernate.c3p0.preferredTestQuery", "SELECT 1");
    if (Setting.runMode == Setting.DEV_MODE) {
        properties.put("hibernate.show_sql", "true");
    }
    properties.put("hibernate.order_updates", "true");
    properties.put("hibernate.cache.use_second_level_cache", "true");
    properties.put("hibernate.cache.provider_class", "org.hibernate.cache.EhCacheProvider");

    Properties extraProp = new Properties();
    try {
        InputStream extra = ClassLoader.getSystemResourceAsStream("hibernate.properties");
        if (extra != null) {
            extraProp.load(extra);
            properties.putAll(extraProp);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
    onHibernateConfig(properties);
    cfg.mergeProperties(properties);
    ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(cfg.getProperties())
            .buildServiceRegistry();
    Setting.sessionFactory = cfg.buildSessionFactory(serviceRegistry);

}

From source file:org.n52.sos.config.sqlite.SQLiteSessionFactory.java

License:Open Source License

private SessionFactory createSessionFactory(Properties properties) {
    Configuration cfg = new Configuration().addAnnotatedClass(BooleanSettingValue.class)
            .addAnnotatedClass(FileSettingValue.class).addAnnotatedClass(IntegerSettingValue.class)
            .addAnnotatedClass(NumericSettingValue.class).addAnnotatedClass(StringSettingValue.class)
            .addAnnotatedClass(UriSettingValue.class).addAnnotatedClass(ChoiceSettingValue.class)
            .addAnnotatedClass(AdminUser.class).addAnnotatedClass(CapabilitiesExtensionImpl.class)
            .addAnnotatedClass(OfferingExtensionImpl.class).addAnnotatedClass(StaticCapabilitiesImpl.class)
            .addAnnotatedClass(Operation.class).addAnnotatedClass(ProcedureEncoding.class)
            .addAnnotatedClass(Binding.class).addAnnotatedClass(ObservationEncoding.class)
            .addAnnotatedClass(DynamicOfferingExtension.class)
            .addAnnotatedClass(DynamicOwsExtendedCapabilities.class)
            .addAnnotatedClass(TimeInstantSettingValue.class)
            .addAnnotatedClass(MultilingualStringSettingValue.class);

    cfg.registerTypeOverride(new HibernateFileType(), new String[] { "file", File.class.getName() });
    cfg.registerTypeOverride(new HibernateUriType(), new String[] { "uri", URI.class.getName() });
    cfg.registerTypeOverride(new HibernateTimeInstantType(),
            new String[] { "timeInstant", TimeInstant.class.getName() });

    if (properties != null) {
        cfg.mergeProperties(properties);
    }/*w  w  w  .ja  v a 2 s.  co  m*/
    cfg.mergeProperties(defaultProperties);
    ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties())
            .build();
    return cfg.buildSessionFactory(serviceRegistry);
}

From source file:org.n52.sos.inspire.aqd.persistence.ReportingHeaderSQLiteSessionFactory.java

License:Open Source License

private SessionFactory createSessionFactory(Properties properties) {
    Configuration cfg = new Configuration().addAnnotatedClass(JSONFragment.class);
    if (properties != null) {
        cfg.mergeProperties(properties);
    }/* w  w  w.ja v  a2 s  .c o  m*/
    cfg.mergeProperties(defaultProperties);
    ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties())
            .build();
    return cfg.buildSessionFactory(serviceRegistry);
}