Example usage for org.hibernate.cfg Configuration setProperties

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

Introduction

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

Prototype

public Configuration setProperties(Properties properties) 

Source Link

Document

Specify a completely new set of properties

Usage

From source file:de.juplo.plugins.hibernate4.Hbm2DdlMojo.java

License:Apache License

@Override
public void execute() throws MojoFailureException, MojoExecutionException {
    if (skip) {//from   w  w  w .jav  a2 s.  com
        getLog().info("Exectuion of hibernate4-maven-plugin:export was skipped!");
        project.getProperties().setProperty(EXPORT_SKIPPED_PROPERTY, "true");
        return;
    }

    File dir = new File(outputDirectory);
    if (!dir.exists())
        throw new MojoExecutionException(
                "Cannot scan for annotated classes in " + outputDirectory + ": directory does not exist!");

    Map<String, String> md5s;
    boolean modified = false;
    File saved = new File(buildDirectory + File.separator + MD5S);

    if (saved.exists()) {
        try {
            FileInputStream fis = new FileInputStream(saved);
            ObjectInputStream ois = new ObjectInputStream(fis);
            md5s = (HashMap<String, String>) ois.readObject();
            ois.close();
        } catch (Exception e) {
            md5s = new HashMap<String, String>();
            getLog().warn("Cannot read timestamps from saved: " + e);
        }
    } else {
        md5s = new HashMap<String, String>();
        try {
            saved.createNewFile();
        } catch (IOException e) {
            getLog().warn("Cannot create saved for timestamps: " + e);
        }
    }

    ClassLoader classLoader = null;
    try {
        getLog().debug("Creating ClassLoader for project-dependencies...");
        List<String> classpathFiles = project.getCompileClasspathElements();
        if (scanTestClasses)
            classpathFiles.addAll(project.getTestClasspathElements());
        URL[] urls = new URL[classpathFiles.size()];
        for (int i = 0; i < classpathFiles.size(); ++i) {
            getLog().debug("Dependency: " + classpathFiles.get(i));
            urls[i] = new File(classpathFiles.get(i)).toURI().toURL();
        }
        classLoader = new URLClassLoader(urls, getClass().getClassLoader());
    } catch (Exception e) {
        getLog().error("Error while creating ClassLoader!", e);
        throw new MojoExecutionException(e.getMessage());
    }

    Set<Class<?>> classes = new TreeSet<Class<?>>(new Comparator<Class<?>>() {
        @Override
        public int compare(Class<?> a, Class<?> b) {
            return a.getName().compareTo(b.getName());
        }
    });

    try {
        AnnotationDB db = new AnnotationDB();
        getLog().info("Scanning directory " + outputDirectory + " for annotated classes...");
        URL dirUrl = dir.toURI().toURL();
        db.scanArchives(dirUrl);
        if (scanTestClasses) {
            dir = new File(testOutputDirectory);
            if (!dir.exists())
                throw new MojoExecutionException("Cannot scan for annotated test-classes in "
                        + testOutputDirectory + ": directory does not exist!");
            getLog().info("Scanning directory " + testOutputDirectory + " for annotated classes...");
            dirUrl = dir.toURI().toURL();
            db.scanArchives(dirUrl);
        }

        Set<String> classNames = new HashSet<String>();
        if (db.getAnnotationIndex().containsKey(Entity.class.getName()))
            classNames.addAll(db.getAnnotationIndex().get(Entity.class.getName()));
        if (db.getAnnotationIndex().containsKey(MappedSuperclass.class.getName()))
            classNames.addAll(db.getAnnotationIndex().get(MappedSuperclass.class.getName()));
        if (db.getAnnotationIndex().containsKey(Embeddable.class.getName()))
            classNames.addAll(db.getAnnotationIndex().get(Embeddable.class.getName()));

        MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
        for (String name : classNames) {
            Class<?> annotatedClass = classLoader.loadClass(name);
            classes.add(annotatedClass);
            InputStream is = annotatedClass.getResourceAsStream(annotatedClass.getSimpleName() + ".class");
            byte[] buffer = new byte[1024 * 4]; // copy data in 4MB-chunks
            int i;
            while ((i = is.read(buffer)) > -1)
                digest.update(buffer, 0, i);
            is.close();
            byte[] bytes = digest.digest();
            BigInteger bi = new BigInteger(1, bytes);
            String newMd5 = String.format("%0" + (bytes.length << 1) + "x", bi);
            String oldMd5 = !md5s.containsKey(name) ? "" : md5s.get(name);
            if (!newMd5.equals(oldMd5)) {
                getLog().debug("Found new or modified annotated class: " + name);
                modified = true;
                md5s.put(name, newMd5);
            } else {
                getLog().debug(oldMd5 + " -> class unchanged: " + name);
            }
        }
    } catch (ClassNotFoundException e) {
        getLog().error("Error while adding annotated classes!", e);
        throw new MojoExecutionException(e.getMessage());
    } catch (Exception e) {
        getLog().error("Error while scanning!", e);
        throw new MojoFailureException(e.getMessage());
    }

    if (classes.isEmpty())
        throw new MojoFailureException("No annotated classes found in directory " + outputDirectory);

    getLog().debug("Detected classes with mapping-annotations:");
    for (Class<?> annotatedClass : classes)
        getLog().debug("  " + annotatedClass.getName());

    Properties properties = new Properties();

    /** Try to read configuration from properties-file */
    try {
        File file = new File(hibernateProperties);
        if (file.exists()) {
            getLog().info("Reading properties from file " + hibernateProperties + "...");
            properties.load(new FileInputStream(file));
        } else
            getLog().info("No hibernate-properties-file found! (Checked path: " + hibernateProperties + ")");
    } catch (IOException e) {
        getLog().error("Error while reading properties!", e);
        throw new MojoExecutionException(e.getMessage());
    }

    /** Overwrite values from propertie-file or set, if given */
    if (driverClassName != null) {
        if (properties.containsKey(DRIVER_CLASS))
            getLog().debug("Overwriting property " + DRIVER_CLASS + "=" + properties.getProperty(DRIVER_CLASS)
                    + " with the value " + driverClassName);
        else
            getLog().debug("Using the value " + driverClassName);
        properties.setProperty(DRIVER_CLASS, driverClassName);
    }
    if (url != null) {
        if (properties.containsKey(URL))
            getLog().debug("Overwriting property " + URL + "=" + properties.getProperty(URL)
                    + " with the value " + url);
        else
            getLog().debug("Using the value " + url);
        properties.setProperty(URL, url);
    }
    if (username != null) {
        if (properties.containsKey(USERNAME))
            getLog().debug("Overwriting property " + USERNAME + "=" + properties.getProperty(USERNAME)
                    + " with the value " + username);
        else
            getLog().debug("Using the value " + username);
        properties.setProperty(USERNAME, username);
    }
    if (password != null) {
        if (properties.containsKey(PASSWORD))
            getLog().debug("Overwriting property " + PASSWORD + "=" + properties.getProperty(PASSWORD)
                    + " with the value " + password);
        else
            getLog().debug("Using the value " + password);
        properties.setProperty(PASSWORD, password);
    }
    if (hibernateDialect != null) {
        if (properties.containsKey(DIALECT))
            getLog().debug("Overwriting property " + DIALECT + "=" + properties.getProperty(DIALECT)
                    + " with the value " + hibernateDialect);
        else
            getLog().debug("Using the value " + hibernateDialect);
        properties.setProperty(DIALECT, hibernateDialect);
    }
    if (hibernateNamingStrategy != null) {
        if (properties.contains(NAMING_STRATEGY))
            getLog().debug("Overwriting property " + NAMING_STRATEGY + "="
                    + properties.getProperty(NAMING_STRATEGY) + " with the value " + hibernateNamingStrategy);
        else
            getLog().debug("Using the value " + hibernateNamingStrategy);
        properties.setProperty(NAMING_STRATEGY, hibernateNamingStrategy);
    }

    /** The generated SQL varies with the dialect! */
    if (md5s.containsKey(DIALECT)) {
        String dialect = properties.getProperty(DIALECT);
        if (md5s.get(DIALECT).equals(dialect))
            getLog().debug("SQL-dialect unchanged.");
        else {
            getLog().debug("SQL-dialect changed: " + dialect);
            modified = true;
            md5s.put(DIALECT, dialect);
        }
    } else {
        modified = true;
        md5s.put(DIALECT, properties.getProperty(DIALECT));
    }

    if (properties.isEmpty()) {
        getLog().error("No properties set!");
        throw new MojoFailureException("Hibernate-Configuration is missing!");
    }

    Configuration config = new Configuration();
    config.setProperties(properties);

    if (properties.containsKey(NAMING_STRATEGY)) {
        String namingStrategy = properties.getProperty(NAMING_STRATEGY);
        getLog().debug("Explicitly set NamingStrategy: " + namingStrategy);
        try {
            @SuppressWarnings("unchecked")
            Class<NamingStrategy> namingStrategyClass = (Class<NamingStrategy>) Class.forName(namingStrategy);
            config.setNamingStrategy(namingStrategyClass.newInstance());
        } catch (Exception e) {
            getLog().error("Error setting NamingStrategy", e);
            throw new MojoExecutionException(e.getMessage());
        }
    }

    getLog().debug("Adding annotated classes to hibernate-mapping-configuration...");
    for (Class<?> annotatedClass : classes) {
        getLog().debug("Class " + annotatedClass);
        config.addAnnotatedClass(annotatedClass);
    }

    Target target = null;
    try {
        target = Target.valueOf(this.target.toUpperCase());
    } catch (IllegalArgumentException e) {
        getLog().error("Invalid value for configuration-option \"target\": " + this.target);
        getLog().error("Valid values are: NONE, SCRIPT, EXPORT, BOTH");
        throw new MojoExecutionException("Invalid value for configuration-option \"target\"");
    }
    Type type = null;
    try {
        type = Type.valueOf(this.type.toUpperCase());
    } catch (IllegalArgumentException e) {
        getLog().error("Invalid value for configuration-option \"type\": " + this.type);
        getLog().error("Valid values are: NONE, CREATE, DROP, BOTH");
        throw new MojoExecutionException("Invalid value for configuration-option \"type\"");
    }

    if (target.equals(Target.SCRIPT) || target.equals(Target.NONE)) {
        project.getProperties().setProperty(EXPORT_SKIPPED_PROPERTY, "true");
    }
    if (!modified && !target.equals(Target.SCRIPT) && !target.equals(Target.NONE) && !force) {
        getLog().info("No modified annotated classes found and dialect unchanged.");
        getLog().info("Skipping schema generation!");
        project.getProperties().setProperty(EXPORT_SKIPPED_PROPERTY, "true");
        return;
    }

    getLog().info("Gathered hibernate-configuration (turn on debugging for details):");
    for (Entry<Object, Object> entry : properties.entrySet())
        getLog().info("  " + entry.getKey() + " = " + entry.getValue());

    Connection connection = null;
    try {
        /**
         * The connection must be established outside of hibernate, because
         * hibernate does not use the context-classloader of the current
         * thread and, hence, would not be able to resolve the driver-class!
         */
        switch (target) {
        case EXPORT:
        case BOTH:
            switch (type) {
            case CREATE:
            case DROP:
            case BOTH:
                Class driverClass = classLoader.loadClass(properties.getProperty(DRIVER_CLASS));
                getLog().debug("Registering JDBC-driver " + driverClass.getName());
                DriverManager.registerDriver(new DriverProxy((Driver) driverClass.newInstance()));
                getLog().debug("Opening JDBC-connection to " + properties.getProperty(URL) + " as "
                        + properties.getProperty(USERNAME) + " with password "
                        + properties.getProperty(PASSWORD));
                connection = DriverManager.getConnection(properties.getProperty(URL),
                        properties.getProperty(USERNAME), properties.getProperty(PASSWORD));
            }
        }
    } catch (ClassNotFoundException e) {
        getLog().error("Dependency for driver-class " + properties.getProperty(DRIVER_CLASS) + " is missing!");
        throw new MojoExecutionException(e.getMessage());
    } catch (Exception e) {
        getLog().error("Cannot establish connection to database!");
        Enumeration<Driver> drivers = DriverManager.getDrivers();
        if (!drivers.hasMoreElements())
            getLog().error("No drivers registered!");
        while (drivers.hasMoreElements())
            getLog().debug("Driver: " + drivers.nextElement());
        throw new MojoExecutionException(e.getMessage());
    }

    ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
    MavenLogAppender.startPluginLog(this);
    try {
        /**
         * Change class-loader of current thread, so that hibernate can
         * see all dependencies!
         */
        Thread.currentThread().setContextClassLoader(classLoader);

        SchemaExport export = new SchemaExport(config, connection);
        export.setOutputFile(outputFile);
        export.setDelimiter(delimiter);
        export.setFormat(format);
        export.execute(target, type);

        for (Object exception : export.getExceptions())
            getLog().debug(exception.toString());
    } finally {
        /** Stop Log-Capturing */
        MavenLogAppender.endPluginLog(this);

        /** Restore the old class-loader (TODO: is this really necessary?) */
        Thread.currentThread().setContextClassLoader(contextClassLoader);

        /** Close the connection */
        try {
            if (connection != null)
                connection.close();
        } catch (SQLException e) {
            getLog().error("Error while closing connection: " + e.getMessage());
        }
    }

    /** Write md5-sums for annotated classes to file */
    try {
        FileOutputStream fos = new FileOutputStream(saved);
        ObjectOutputStream oos = new ObjectOutputStream(fos);
        oos.writeObject(md5s);
        oos.close();
        fos.close();
    } catch (Exception e) {
        getLog().error("Cannot write md5-sums to file: " + e);
    }
}

From source file:de.xwic.sandbox.server.installer.InstallationManager.java

License:Apache License

/**
 * Create a hibernate configuration.// w w  w. j  a va  2  s.c  o  m
 * 
 * @return
 * @throws IOException
 */
private Configuration createHibernateConfiguration() {

    log.info("Creating hibernate configuration.");
    Configuration cfg = new Configuration();
    cfg.configure();
    // read and apply hibernate.properties
    File file = findFile("hibernate.properties");

    if (file != null) {
        log.info("Found " + file.getPath());
        Properties prop = new Properties();
        FileInputStream inStream = null;
        try {
            inStream = new FileInputStream(file);
            prop.load(inStream);
            cfg.setProperties(prop);
        } catch (IOException e) {
            log.warn("Error reading properties - trying without", e);
        } finally {
            closeStream(inStream);
        }
    }
    return cfg;
}

From source file:de.xwic.sandbox.server.ServletLifecycleListener.java

License:Apache License

@Override
public void contextInitialized(ServletContextEvent event) {
    HibernateDAOProvider hbnDP = new HibernateDAOProvider();

    DAOFactory factory = CommonConfiguration.createCommonDaoFactory(hbnDP);

    DAOSystem.setDAOFactory(factory);//from ww w.  j  a v a  2  s.  co m
    DAOSystem.setSecurityManager(new ServerSecurityManager());
    DAOSystem.setUseCaseService(new DefaultUseCaseService(hbnDP));
    DAOSystem.setFileHandler(new HbnFileOracleFixDAO());

    SandboxModelConfig.register(factory);
    StartModelConfig.register(factory);

    DemoAppModelConfig.register(factory);

    final ServletContext context = event.getServletContext();
    SandboxModelConfig.setWebRootDirectory(new File(context.getRealPath("/")));

    final String rootPath = context.getRealPath("");

    final File path = new File(rootPath + "/config");
    Setup setup;
    try {
        setup = XmlConfigLoader.loadSetup(path.toURI().toURL());
    } catch (Exception e) {
        log.error("Error loading product configuration", e);
        throw new RuntimeException("Error loading product configuration: " + e, e);
    }
    ConfigurationManager.setSetup(setup);

    if (!HibernateUtil.isInitialized()) {
        Configuration configuration = new Configuration();
        configuration.configure(); // load configuration settings from hbm file.
        // load properties
        Properties prop = new Properties();
        InputStream in = context.getResourceAsStream("WEB-INF/hibernate.properties");
        if (in == null) {
            in = context.getResourceAsStream("/WEB-INF/hibernate.properties");
        }
        if (in != null) {
            try {
                prop.load(in);
                configuration.setProperties(prop);
            } catch (IOException e) {
                log.error("Error loading hibernate.properties. Skipping this step! : " + e);
            }
        }
        HibernateUtil.initialize(configuration);
    }

    File prefStorePath = new File(new File(rootPath), "WEB-INF/prefstore");
    if (!prefStorePath.exists() && !prefStorePath.mkdirs()) {
        throw new IllegalStateException("Error initializing preference store: can not create directory "
                + prefStorePath.getAbsolutePath());
    }
    Platform.initialize(new StorageProvider(prefStorePath), new UserContextPreferenceProvider());

}

From source file:edu.ku.brc.specify.tools.SpecifySchemaGenerator.java

License:Open Source License

/**
 * Creates the Schema.//from w w w . java2s . co  m
 * @param driverInfo the driver info to use
 * @param connectionStr the connection string for creating or opening a database
 * @param hostname the hostname (localhost)
 * @param databaseName the database name
 * @param user the username
 * @param passwd the password (clear text)
 * @param doUpdate tells it to update the schema instead of creating it
 */
protected static void doGenSchema(final DatabaseDriverInfo driverInfo, final String connectionStr, // might be a create or an open connection string
        final String user, final String passwd, final boolean doUpdate) {
    // setup the Hibernate configuration
    Configuration hibCfg = new AnnotationConfiguration();
    hibCfg.setProperties(getHibernateProperties(driverInfo, connectionStr, user, passwd, doUpdate));
    hibCfg.configure();

    if (doUpdate) {
        SchemaUpdate schemaUpdater = new SchemaUpdate(hibCfg);

        log.info("Updating schema");
        //System.exit(0);
        boolean doScript = false;
        log.info("Updating the DB schema");
        schemaUpdater.execute(doScript, true);

        log.info("DB schema Updating completed");

        // log the exceptions that occurred
        List<?> exceptions = schemaUpdater.getExceptions();
        for (Object o : exceptions) {
            Exception e = (Exception) o;
            log.error(e.getMessage());
        }
    } else {
        SchemaExport schemaExporter = new SchemaExport(hibCfg);
        schemaExporter.setDelimiter(";");

        log.info("Generating schema");
        //System.exit(0);
        boolean printToScreen = false;
        boolean exportToDb = true;
        boolean justDrop = false;
        boolean justCreate = true;
        log.info("Creating the DB schema");
        schemaExporter.execute(printToScreen, exportToDb, justDrop, justCreate);

        log.info("DB schema creation completed");

        // log the exceptions that occurred
        List<?> exceptions = schemaExporter.getExceptions();
        for (Object o : exceptions) {
            Exception e = (Exception) o;
            log.error(e.getMessage());
        }
    }
}

From source file:edu.wustl.common.util.dbManager.GenerateSchema.java

License:BSD License

public static void main(String[] args) throws HibernateException, IOException, Exception {
    boolean isToPrintOnConsole = false;
    boolean isToExecuteOnDB = false;
    if (args.length != 0) {
        String arg = args[0];/*from w  w  w .jav a2  s .  co m*/
        if (arg.equalsIgnoreCase("true")) {
            isToPrintOnConsole = true;
            isToExecuteOnDB = true;
        }
        if (arg.equalsIgnoreCase("false")) {
            isToPrintOnConsole = false;
            isToExecuteOnDB = false;
        }
    }

    File file = new File("db.properties");
    BufferedInputStream stram = new BufferedInputStream(new FileInputStream(file));
    Properties p = new Properties();
    p.load(stram);
    stram.close();

    Configuration cfg = new Configuration();
    cfg.setProperties(p);
    cfg.addDirectory(new File("./src"));
    new SchemaExport(cfg).setOutputFile("query.sql").setDelimiter(";").create(isToPrintOnConsole,
            isToExecuteOnDB);
    //      if(isToExecuteOnDB)
    //         new GenerateUser();
}

From source file:es.jpons.persistence.util.TemporalHibernateUtil.java

License:Open Source License

public static synchronized Session getSession(Properties configuration, List<Class> annotatedClasses) {

    //        if(instance==null){
    //            log.trace("Creating instance from properties");
    ////          setProperties(configuration);
    //          instance =  new TemporalHibernateUtil();
    //        }//from  ww w.ja  va  2  s. co m

    Configuration cfg = new AnnotationConfiguration();//.setProperties(configuration);//Configuration();
    cfg.setProperties(configuration);
    cfg.addPackage(configuration.getProperty("package.persistence"));
    // esta funcion parece interesante
    //cfg.addSqlFunction(rn, null);
    log.trace("Registering temporal interceptor");
    cfg.setInterceptor(new TemporalInterceptor());

    for (Class c : annotatedClasses) {
        cfg.addAnnotatedClass(c);
    }

    log.trace("Configuration from properties file");

    if (factory == null) {
        factory = cfg.buildSessionFactory();
    }

    log.trace("Session factory created");
    return factory.openSession();
}

From source file:griffon.plugins.hibernate3.internal.HibernateConfigurationHelper.java

License:Apache License

private void applyProperties(Configuration config) {
    Object props = ConfigUtils.getConfigValue(sessionConfig, PROPS);
    if (props instanceof Properties) {
        config.setProperties((Properties) props);
    } else if (props instanceof Map) {
        for (Map.Entry<String, String> entry : ((Map<String, String>) props).entrySet()) {
            config.setProperty(entry.getKey(), entry.getValue());
        }//from ww  w .  ja  v  a  2 s . com
    }

    if (ConfigUtils.getConfigValueAsBoolean(sessionConfig, "logSql")) {
        config.setProperty("hibernate.show_sql", "true");
    }
    if (ConfigUtils.getConfigValueAsBoolean(sessionConfig, "formatSql")) {
        config.setProperty("hibernate.format_sql", "true");
    }
}

From source file:monasca.api.MonApiModule.java

License:Apache License

@Provides
@Singleton/*from www  . jav a2 s .  c o m*/
@Named("orm")
public SessionFactory getSessionFactory() {

    if (config.hibernate == null) {
        throw new ProvisionException("Unable to provision ORM DBI, couldn't locate hibernate configuration");
    }

    try {
        Configuration configuration = new Configuration();

        configuration.addAnnotatedClass(AlarmDb.class);
        configuration.addAnnotatedClass(AlarmActionDb.class);
        configuration.addAnnotatedClass(AlarmActionId.class);
        configuration.addAnnotatedClass(AlarmDefinitionDb.class);
        configuration.addAnnotatedClass(AlarmMetricDb.class);
        configuration.addAnnotatedClass(AlarmMetricId.class);
        configuration.addAnnotatedClass(MetricDefinitionDb.class);
        configuration.addAnnotatedClass(MetricDefinitionDimensionsDb.class);
        configuration.addAnnotatedClass(MetricDimensionDb.class);
        configuration.addAnnotatedClass(SubAlarmDefinitionDb.class);
        configuration.addAnnotatedClass(SubAlarmDefinitionDimensionDb.class);
        configuration.addAnnotatedClass(SubAlarmDb.class);
        configuration.addAnnotatedClass(NotificationMethodDb.class);

        configuration.setProperties(this.getORMProperties(this.config.hibernate.getDataSourceClassName()));
        ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
                .applySettings(configuration.getProperties()).build();

        // builds a session factory from the service registry
        return configuration.buildSessionFactory(serviceRegistry);
    } catch (Throwable ex) {
        throw new ProvisionException("Failed to provision ORM DBI", ex);
    }
}

From source file:monasca.thresh.infrastructure.persistence.PersistenceModule.java

License:Apache License

@Provides
@Singleton/*from w  w w. ja  v a 2  s  . c o  m*/
public SessionFactory sessionFactory() {
    try {
        Configuration configuration = new Configuration();
        configuration.addAnnotatedClass(AlarmDb.class);
        configuration.addAnnotatedClass(AlarmDefinitionDb.class);
        configuration.addAnnotatedClass(AlarmMetricDb.class);
        configuration.addAnnotatedClass(MetricDefinitionDb.class);
        configuration.addAnnotatedClass(MetricDefinitionDimensionsDb.class);
        configuration.addAnnotatedClass(MetricDimensionDb.class);
        configuration.addAnnotatedClass(SubAlarmDefinitionDb.class);
        configuration.addAnnotatedClass(SubAlarmDefinitionDimensionDb.class);
        configuration.addAnnotatedClass(SubAlarmDb.class);
        configuration.addAnnotatedClass(AlarmActionDb.class);
        configuration.addAnnotatedClass(NotificationMethodDb.class);

        // retrieve hikari properties for right driver
        configuration.setProperties(this.getHikariProperties(this.dbConfig.getDriverClass()));

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

        // builds a session factory from the service registry
        return configuration.buildSessionFactory(serviceRegistry);
    } catch (Throwable ex) {
        throw new ProvisionException("Failed to provision Hibernate DB", ex);
    }
}

From source file:net.sf.hibernate.jconsole.tester.HibernateSessions.java

License:Open Source License

private static void doInitSessionFactory() throws Exception {
    Configuration cfg = new Configuration();
    cfg.addResource("net/sf/hibernate/jconsole/tester/test-message-entity.hbm.xml");
    cfg.setProperties(System.getProperties());

    cfg.setProperty("hibernate.connection.url", "jdbc:hsqldb:mem:mymemdb");
    cfg.setProperty("hibernate.connection.driver_class", "org.hsqldb.jdbc.JDBCDriver");
    cfg.setProperty("hibernate.connection.username", "SA");
    cfg.setProperty("hibernate.hbm2ddl.auto", "create-drop");

    sessionFactory = cfg.buildSessionFactory();
    mBeanServer = ManagementFactory.getPlatformMBeanServer();
    HibernateJmxBinding binding = new HibernateJmxBinding(mBeanServer, sessionFactory);
    binding.registerJmxBinding();/*from  w w  w  .  ja va  2 s.  c  o  m*/
}