Example usage for org.hibernate.cfg Configuration addAnnotatedClass

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

Introduction

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

Prototype

@SuppressWarnings({ "unchecked" })
public Configuration addAnnotatedClass(Class annotatedClass) 

Source Link

Document

Read metadata from the annotations associated with this class.

Usage

From source file:org.opentides.util.HibernateUtil.java

License:Apache License

/**
 * Static initializer to establish database connection.
 *//* w  w  w . j a  v a2 s . c o  m*/
private static void initialize() {
    try {
        URL[] urls = ClasspathUrlFinder.findResourceBases(persistenceFile);
        List<URL> toAdd = new ArrayList<URL>();
        List<URL> finalUrls = new ArrayList<URL>();
        for (URL url : urls) {
            LOGGER.debug("URL is : [" + url.getPath() + "] with protocol: [" + url.getProtocol()
                    + "] with file: [" + url.getFile() + "]");
            String file = url.getFile();
            if (!file.startsWith("file:")) {
                file = "file:" + file;
            }
            if ("zip".equals(url.getProtocol())) {
                toAdd.add(new URL("jar", url.getHost(), url.getPort(), file));
            } else {
                toAdd.add(url);
            }
        }
        finalUrls.addAll(toAdd);
        for (URL url : finalUrls) {
            LOGGER.debug("URL full path: [" + url.toString() + "]");
            LOGGER.debug("Final URL is : [" + url.getPath() + "] with protocol: [" + url.getProtocol()
                    + "] with file: [" + url.getFile() + "]");
        }
        AnnotationDB db = new AnnotationDB();
        db.scanArchives(finalUrls.toArray(new URL[finalUrls.size()]));
        Set<String> entityClasses = db.getAnnotationIndex().get(javax.persistence.Entity.class.getName());
        // Create the SessionFactory
        Configuration ac = new Configuration();
        Properties properties = XMLPersistenceUtil.getProperties(persistenceFile, persistenceUnitName);
        ac.setProperties(properties);
        if (StringUtil.isEmpty(jndiName)) {
            ac.setProperty("hibernate.connection.driver_class", driverClassName);
            ac.setProperty("hibernate.connection.url", url);
            ac.setProperty("hibernate.connection.username", username);
            ac.setProperty("hibernate.connection.password", password);
        } else {
            LOGGER.debug("JNDI not empty. [" + jndiName + "] using persistence [" + persistenceFile + "]");
            ac.setProperty("hibernate.connection.datasource", jndiName);
        }
        for (String clazz : entityClasses) {
            LOGGER.debug("Entity Class : [" + clazz + "]");
            ac.addAnnotatedClass(Class.forName(clazz));
        }
        ac.addAnnotatedClass(Class.forName("org.opentides.bean.AuditLog"));
        ac.addAnnotatedClass(Class.forName("org.opentides.bean.BaseEntity"));
        ac.addAnnotatedClass(Class.forName("org.opentides.bean.FileInfo"));
        ac.addAnnotatedClass(Class.forName("org.opentides.bean.SystemCodes"));
        ac.addAnnotatedClass(Class.forName("org.opentides.bean.Widget"));
        ac.addAnnotatedClass(Class.forName("org.opentides.bean.UserWidgets"));
        ac.addAnnotatedClass(Class.forName("org.opentides.bean.user.BaseUser"));
        ac.addAnnotatedClass(Class.forName("org.opentides.bean.PasswordReset"));
        ac.addAnnotatedClass(Class.forName("org.opentides.bean.user.UserRole"));
        ac.addAnnotatedClass(Class.forName("org.opentides.bean.user.UserCredential"));
        ac.addAnnotatedClass(Class.forName("org.opentides.bean.user.UserGroup"));
        ac.addAnnotatedClass(Class.forName("org.opentides.bean.UserDefinedRecord"));
        ac.addAnnotatedClass(Class.forName("org.opentides.bean.UserDefinedField"));
        sessionFactory = ac.buildSessionFactory();
    } 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);
    }

}

From source file:org.ow2.proactive.resourcemanager.db.RMDBManager.java

License:Open Source License

/**
 * Used only for testing purposes of the hibernate config needs to be changed.
 * RMDBManager.getInstance() should be used in most of cases.
 *//* ww w .  jav  a  2  s .  c  o m*/
public RMDBManager(Configuration configuration, boolean drop, boolean dropNS) {
    try {
        configuration.addAnnotatedClass(NodeSourceData.class);
        configuration.addAnnotatedClass(NodeHistory.class);
        configuration.addAnnotatedClass(UserHistory.class);
        configuration.addAnnotatedClass(Alive.class);
        if (drop) {
            configuration.setProperty("hibernate.hbm2ddl.auto", "create");

            // dropping RRD data base as well
            File ddrDB = new File(PAResourceManagerProperties.RM_HOME.getValueAsString()
                    + System.getProperty("file.separator")
                    + PAResourceManagerProperties.RM_RRD_DATABASE_NAME.getValueAsString());
            if (ddrDB.exists()) {
                ddrDB.delete();
            }
        }

        configuration.setProperty("hibernate.id.new_generator_mappings", "true");
        configuration.setProperty("hibernate.jdbc.use_streams_for_binary", "true");

        sessionFactory = configuration.buildSessionFactory();

        List<?> lastAliveTime = sqlQuery("from Alive");
        if (lastAliveTime == null || lastAliveTime.size() == 0) {
            createRmAliveTime();
        } else if (!drop) {
            if (dropNS) {
                removeNodeSources();
            }

            recover(((Alive) lastAliveTime.get(0)).getTime());
        }

        int periodInMilliseconds = PAResourceManagerProperties.RM_ALIVE_EVENT_FREQUENCY.getValueAsInt();

        timer = new Timer("Periodic RM live event saver");
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                updateRmAliveTime();
            }
        }, periodInMilliseconds, periodInMilliseconds);

    } catch (Throwable ex) {
        logger.error("Initial SessionFactory creation failed", ex);
        throw new DatabaseManagerException("Initial SessionFactory creation failed", ex);
    }
}

From source file:org.phenotips.remote.hibernate.internal.ORMRegistrationHandler.java

License:Open Source License

@Override
public void onEvent(Event event, Object source, Object data) {
    Configuration configuration = this.sessionFactory.getConfiguration();
    configuration.addAnnotatedClass(DefaultIncomingSearchRequest.class);
    configuration.addAnnotatedClass(DefaultOutgoingSearchRequest.class);
    configuration.addAnnotatedClass(HibernatePatientFeature.class);
    configuration.addAnnotatedClass(HibernatePatientDisorder.class);
    configuration.addAnnotatedClass(HibernatePatientGene.class);
    configuration.addAnnotatedClass(HibernatePatient.class);
}

From source file:org.smartsnip.persistence.hibernate.DBSessionFactory.java

/**
 * initialize the session factory//  ww w.  j a v a 2 s . c o  m
 * 
 * @param configFile
 *            the path to the configuration file
 * @throws ExceptionInInitializerError
 */
private static synchronized void initialize(String configFile) throws ExceptionInInitializerError {
    if (configFile == null || configFile.isEmpty()) {
        configFile = "/hibernate.cfg.xml";
    }
    if (factory == null) {
        try {
            Configuration configuration = new Configuration();
            configuration.configure(configFile);

            // add entity classes
            configuration.addAnnotatedClass(DBCategory.class);
            configuration.addAnnotatedClass(DBCode.class);
            configuration.addAnnotatedClass(DBCodeFile.class);
            configuration.addAnnotatedClass(DBComment.class);
            configuration.addAnnotatedClass(DBFavourite.class);
            configuration.addAnnotatedClass(DBLanguage.class);
            configuration.addAnnotatedClass(DBLicense.class);
            configuration.addAnnotatedClass(DBLogin.class);
            configuration.addAnnotatedClass(DBNotification.class);
            configuration.addAnnotatedClass(DBRating.class);
            configuration.addAnnotatedClass(DBSnippet.class);
            configuration.addAnnotatedClass(DBTag.class);
            configuration.addAnnotatedClass(DBUser.class);
            configuration.addAnnotatedClass(DBVote.class);
            configuration.addAnnotatedClass(DBRelTagSnippet.class);

            serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties())
                    .buildServiceRegistry();
            factory = configuration.buildSessionFactory(serviceRegistry);
        } catch (Throwable ex) {
            Logger log = Logger.getLogger(DBSessionFactory.class);
            log.error("Failed to create sessionFactory object.", ex);
            throw new ExceptionInInitializerError(ex);
        }
    }
}

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

License:Apache License

/**
 * Reads metadata from annotated classes and packages into the
 * AnnotationConfiguration instance.// www . j  av a  2 s.c  o  m
 */
@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);
}

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

License:Apache License

/**
 * Perform Spring-based scanning for entity classes.
 * @see #setPackagesToScan/*from  w  w w.j a va 2  s  .  c o m*/
 */
protected void scanPackages(Configuration config) {
    if (this.packagesToScan != null) {
        Set<String> classNames = new TreeSet<String>();
        Set<String> packageNames = new TreeSet<String>();
        try {
            for (String pkg : this.packagesToScan) {
                String pattern = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
                        + ClassUtils.convertClassNameToResourcePath(pkg) + RESOURCE_PATTERN;
                Resource[] resources = this.resourcePatternResolver.getResources(pattern);
                MetadataReaderFactory readerFactory = new CachingMetadataReaderFactory(
                        this.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) {
                config.addAnnotatedClass(this.resourcePatternResolver.getClassLoader().loadClass(className));
            }
            for (String packageName : packageNames) {
                config.addPackage(packageName);
            }
        } catch (ClassNotFoundException ex) {
            throw new MappingException("Failed to load annotated classes from classpath", ex);
        }
    }
}

From source file:org.transitime.db.hibernate.AnnotatedClassesList.java

License:Open Source License

/**
 * Adds the classes listed within this method to the Hibernate
 * configuration. Needed so that the class can be used with
 * Hibernate.//from   w  ww  .j av  a 2  s .  c  om
 * 
 * @param config
 */
public static void addAnnotatedClasses(Configuration config) {
    // Add all the annotated classes to the config
    for (@SuppressWarnings("rawtypes")
    Class c : classList) {
        HibernateUtils.logger.debug("Adding to Hibernate config the annotated class {}", c.getName());
        config.addAnnotatedClass(c);
    }
}

From source file:org.uengine.edu.oop.soc.model.OopsocsamplePersistentManager.java

@Override
public Configuration createConfiguration() {
    Configuration configuration = new Configuration();
    configuration.addAnnotatedClass(org.uengine.edu.oop.soc.model.Account.class);
    configuration.buildMappings();//from   w  w  w  .  j  ava  2s.c  o  m
    return configuration;
}

From source file:org.vibur.dbcp.util.HibernateTestUtils.java

License:Apache License

private static SessionFactory buildSessionFactory(String configFileName) {
    try {//from  ww w  .  j  a v  a2  s  .  c  om
        Configuration cfg = new Configuration().configure(configFileName);
        cfg.addAnnotatedClass(Actor.class);
        ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
                .applySettings(cfg.getProperties()).build();
        return cfg.buildSessionFactory(serviceRegistry);
    } catch (HibernateException e) {
        throw new ExceptionInInitializerError(e);
    }
}

From source file:org.wso2.security.tools.reposcanner.storage.JDBCStorage.java

License:Open Source License

public JDBCStorage(String driverName, String connectionUri, String username, char[] password,
        String hibernateDialect) {
    try {/*from w w w . jav a2 s.c om*/
        Properties properties = new Properties();
        properties.put("hibernate.connection.driver_class", driverName);
        properties.put("hibernate.connection.url", connectionUri);
        properties.put("hibernate.connection.username", username);
        properties.put("hibernate.connection.password", new String(password));
        properties.put("hibernate.dialect", hibernateDialect);
        if (AppConfig.isCreateDB()) {
            properties.put("hibernate.hbm2ddl.auto", "create");
        }
        if (AppConfig.isDebug()) {
            properties.put("hibernate.show_sql", "true");
            properties.put("hibernate.format_sql", "true");
        }

        Configuration configuration = new Configuration();
        configuration.addProperties(properties);

        configuration.addAnnotatedClass(Repo.class);
        configuration.addAnnotatedClass(RepoArtifact.class);
        configuration.addAnnotatedClass(RepoError.class);

        sessionFactory = configuration.buildSessionFactory();

        for (int i = 0; i < password.length; i++) {
            password[i] = ' ';
        }
    } catch (Throwable ex) {
        log.fatal("Failed to create sessionFactory object. Terminating..." + ex);
        throw ex;
    }
}