Example usage for org.hibernate.cfg Configuration addPackage

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

Introduction

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

Prototype

public Configuration addPackage(String packageName) throws MappingException 

Source Link

Document

Read package-level metadata.

Usage

From source file:at.treedb.db.hibernate.DAOhibernate.java

License:Open Source License

@SuppressWarnings("rawtypes")
private static ArrayList<Class> loadEnitiyClasses(String[] list, Configuration cfg) throws Exception {
    HashSet<String> set = new HashSet<String>();
    ArrayList<Class> annotations = new ArrayList<Class>();
    for (int i = 0; i < list.length; ++i) {
        int pos = list[i].lastIndexOf(".");
        if (pos != -1) {
            String p = list[i].substring(0, pos);
            if (!set.contains(p)) {
                set.add(p);//  www  .j a v  a  2s .  c  om
                cfg.addPackage(p);
            }
        }
        Class c = Class.forName(list[i]);
        cfg.addAnnotatedClass(c);
        annotations.add(c);
    }
    return annotations;
}

From source file:com.dotosoft.dotoquiz.tools.util.HibernateUtil.java

License:Apache License

public static SessionFactory buildSessionFactory(Settings setting) {
    try {/* w w  w.  j a v  a  2  s .c  o  m*/
        Properties prop = new Properties();
        prop.setProperty("hibernate.connection.driver_class",
                setting.getConfiguration().getConnection().getDriverClass());
        prop.setProperty("hibernate.connection.url", setting.getConfiguration().getConnection().getUrl());
        prop.setProperty("hibernate.connection.username", setting.getConfiguration().getConnection().getUser());
        prop.setProperty("hibernate.connection.password",
                setting.getConfiguration().getConnection().getPassword());
        prop.setProperty("hibernate.connection.pool_size",
                String.valueOf(setting.getConfiguration().getConnection().getPoolSize()));
        prop.setProperty("hibernate.dialect", setting.getConfiguration().getDialect());
        prop.setProperty("hibernate.hbm2ddl.auto", setting.getConfiguration().getHbm2ddl());
        prop.setProperty("hibernate.show_sql", setting.getConfiguration().getShowSQL());

        Configuration annotationConfig = new Configuration().addProperties(prop);

        for (String packageMap : setting.getConfiguration().getMappingPackages()) {
            annotationConfig.addPackage(packageMap);
        }

        for (String classMap : setting.getConfiguration().getMappingClasses()) {
            annotationConfig.addAnnotatedClass(Class.forName(classMap));
        }

        StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder()
                .applySettings(annotationConfig.getProperties());
        sessionFactory = annotationConfig.buildSessionFactory(ssrb.build());

    } catch (Throwable ex) {
        // Make sure you log the exception, as it might be swallowed
        System.err.println("Initial SessionFactory creation failed." + ex);
        throw new ExceptionInInitializerError(ex);
    }

    return sessionFactory;
}

From source file:com.evolveum.midpoint.repo.sql.SpringApplicationContextTest.java

License:Apache License

private void createSQLSchema(String fileName, String dialect) throws Exception {
    org.hibernate.cfg.Configuration configuration = new Configuration();
    configuration.setNamingStrategy(new MidPointNamingStrategy());
    configuration.setProperties(sessionFactory.getHibernateProperties());
    sessionFactory.getHibernateProperties().setProperty("hibernate.dialect", dialect);

    System.out.println("Dialect: " + sessionFactory.getHibernateProperties().getProperty("hibernate.dialect"));

    addAnnotatedClasses("com.evolveum.midpoint.repo.sql.data.common", configuration);
    addAnnotatedClasses("com.evolveum.midpoint.repo.sql.data.common.container", configuration);
    addAnnotatedClasses("com.evolveum.midpoint.repo.sql.data.common.any", configuration);
    addAnnotatedClasses("com.evolveum.midpoint.repo.sql.data.common.embedded", configuration);
    addAnnotatedClasses("com.evolveum.midpoint.repo.sql.data.common.enums", configuration);
    addAnnotatedClasses("com.evolveum.midpoint.repo.sql.data.common.id", configuration);
    addAnnotatedClasses("com.evolveum.midpoint.repo.sql.data.common.other", configuration);
    addAnnotatedClasses("com.evolveum.midpoint.repo.sql.data.common.type", configuration);
    addAnnotatedClasses("com.evolveum.midpoint.repo.sql.data.audit", configuration);
    //        addAnnotatedClasses("com.evolveum.midpoint.repo.sql.data.poc", configuration);

    configuration.addPackage("com.evolveum.midpoint.repo.sql.type");

    SchemaExport export = new SchemaExport(configuration);
    export.setOutputFile(fileName);/*from  w  ww .  j  av  a  2 s.  c om*/
    export.setDelimiter(";");
    export.execute(true, false, false, true);
}

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  ww  w  .  j av  a  2  s  . 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.speedment.orm.examples.hares.AbstractTest.java

License:Open Source License

private SessionFactory newSessionFactory() {
    Properties properties = getProperties();
    Configuration configuration = new Configuration().addProperties(properties);
    for (Class<?> entityClass : entities()) {
        configuration.addAnnotatedClass(entityClass);
    }//  w  w w. j  a v a  2s  .  c om
    String[] packages = packages();
    if (packages != null) {
        for (String scannedPackage : packages) {
            configuration.addPackage(scannedPackage);
        }
    }
    Interceptor interceptor = interceptor();
    if (interceptor != null) {
        configuration.setInterceptor(interceptor);
    }
    return configuration
            .buildSessionFactory(new StandardServiceRegistryBuilder().applySettings(properties).build());
}

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  www . j a  va  2  s. c  o  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:lichen.orm.internal.AnnotationEntityPackageConfiger.java

License:Apache License

public void config(Configuration cfg) throws HibernateException {
    ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();

    for (String packageName : packages) {
        cfg.addPackage(packageName);

        for (String className : classNameLocator.locateClassNames(packageName)) {
            try {
                Class entityClass = contextClassLoader.loadClass(className);

                cfg.addAnnotatedClass(entityClass);
            } catch (ClassNotFoundException ex) {
                throw new RuntimeException(ex);
            }/*from  www.j  a v  a  2s.c  om*/
        }
    }
}

From source file:org.apache.tapestry5.internal.hibernate.PackageNameHibernateConfigurer.java

License:Apache License

@Override
public void configure(Configuration configuration) {
    ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();

    for (String packageName : packageManager.getPackageNames()) {
        configuration.addPackage(packageName);

        for (String className : classNameLocator.locateClassNames(packageName)) {
            try {
                Class entityClass = contextClassLoader.loadClass(className);

                configuration.addAnnotatedClass(entityClass);
            } catch (ClassNotFoundException ex) {
                throw new RuntimeException(ex);
            }//www .jav a 2 s .  com
        }
    }
}

From source file:org.kalypso.model.wspm.pdb.internal.connect.HibernateConnection.java

License:Open Source License

private void configureMappings(final Configuration configuration) {
    configuration.addPackage(Info.class.getPackage().getName());

    configuration.addAnnotatedClass(Info.class);
    configuration.addAnnotatedClass(WaterBody.class);
    configuration.addAnnotatedClass(State.class);
    configuration.addAnnotatedClass(Event.class);
    configuration.addAnnotatedClass(CrossSection.class);
    configuration.addAnnotatedClass(StyleArray.class);
    configuration.addAnnotatedClass(Style.class);
    configuration.addAnnotatedClass(StyleParameter.class);
    configuration.addAnnotatedClass(CrossSectionPartType.class);
    configuration.addAnnotatedClass(CrossSectionPart.class);
    configuration.addAnnotatedClass(CrossSectionPartParameter.class);
    configuration.addAnnotatedClass(Point.class);
    configuration.addAnnotatedClass(PointKind.class);
    configuration.addAnnotatedClass(Roughness.class);
    configuration.addAnnotatedClass(RoughnessId.class);
    configuration.addAnnotatedClass(Vegetation.class);
    configuration.addAnnotatedClass(VegetationId.class);
    configuration.addAnnotatedClass(WaterlevelFixation.class);
    configuration.addAnnotatedClass(Document.class);
    configuration.addAnnotatedClass(DhmIndex.class);
}

From source file:org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean.java

License:Apache License

/**
 * Reads metadata from annotated classes and packages into the
 * AnnotationConfiguration instance./*from   w w  w . j a  v a  2  s .c om*/
 */
@Override
protected void postProcessMappings(Configuration config) throws HibernateException {
    if (this.annotatedClasses != null) {
        for (Class<?> annotatedClass : this.annotatedClasses) {
            config.addAnnotatedClass(annotatedClass);
        }
    }
    if (this.annotatedPackages != null) {
        for (String annotatedPackage : this.annotatedPackages) {
            config.addPackage(annotatedPackage);
        }
    }
    scanPackages(config);
}