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:com.egreen.tesla.server.api.database.RepositoryConfig.java

public SessionFactory init(List<Class> classes) {

    // Create the SessionFactory from hibernate.cfg.xml
    Configuration configuration = new AnnotationConfiguration();

    configuration.setProperty("hibernate.connection.url", url);
    configuration.setProperty("hibernate.connection.username", username);
    configuration.setProperty("hibernate.connection.password", password);
    configuration.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
    configuration.setProperty("hibernate.connection.driver_class", JDBC_DRIVER);
    configuration.setProperty("hibernate.show_sql", "true");
    configuration.setProperty("hibernate.hbm2ddl.auto", "update");

    for (Class class1 : classes) {
        configuration = configuration.addAnnotatedClass(class1);
    }/*  w ww. j  av  a  2s. co  m*/

    //ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
    return configuration.buildSessionFactory();

}

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

License:Apache License

private void addAnnotatedClasses(String packageName, Configuration configuration)
        throws ClassNotFoundException {
    Set<Class> classes = ClassPathUtil.listClasses(packageName);
    for (Class clazz : classes) {
        configuration.addAnnotatedClass(clazz);
    }/*from  ww w. j a  v a 2 s . co  m*/
}

From source file:com.flipkart.fdp.migration.db.DBInitializer.java

License:Apache License

private SessionFactory buildSessionFactory() {
    try {/*from  ww  w .  j av a  2 s . c om*/

        Configuration configuration = new Configuration();
        configuration.setProperties(getHibernateProperties());
        configuration.addAnnotatedClass(Batch.class);
        configuration.addAnnotatedClass(BatchRun.class);
        configuration.addAnnotatedClass(MapperDetails.class);

        StandardServiceRegistryBuilder serviceRegistryBuilder = new StandardServiceRegistryBuilder();
        serviceRegistryBuilder.applySettings(configuration.getProperties());
        ServiceRegistry serviceRegistry = serviceRegistryBuilder.build();
        sessionFactory = configuration.buildSessionFactory(serviceRegistry);

        return sessionFactory;
    } catch (Throwable e) {
        System.err.println("Initial SessionFactory creation failed." + e);
        throw new ExceptionInInitializerError(e);
    }
}

From source file:com.flipkart.flux.guice.module.HibernateModule.java

License:Apache License

/**
 * Adds annotated classes and custom types to passed Hibernate configuration.
 *//*from w w  w  .j  a v  a2  s  . co m*/
private void addAnnotatedClassesAndTypes(Configuration configuration) {
    //register hibernate custom types
    configuration.registerTypeOverride(new BlobType(), new String[] { "BlobType" });
    configuration.registerTypeOverride(new StoreFQNType(), new String[] { "StoreFQNOnly" });
    configuration.registerTypeOverride(new ListJsonType(), new String[] { "ListJsonType" });

    //add annotated classes to configuration
    configuration.addAnnotatedClass(AuditRecord.class);
    configuration.addAnnotatedClass(Event.class);
    configuration.addAnnotatedClass(State.class);
    configuration.addAnnotatedClass(StateMachine.class);
}

From source file:com.flipkart.flux.redriver.boot.RedriverModule.java

License:Apache License

private void addAnnotatedClassesAndTypes(Configuration configuration) {
    configuration.addAnnotatedClass(ScheduledMessage.class);
}

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/*w  ww .j a v  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
 */
@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.football.site.db.HibernateUtil.java

private static SessionFactory getSessionFactory() {
    if (sessionFactory == null) {
        try {/*from  w w w .j  a v  a  2  s. c  o  m*/
            // loads configuration and mappings
            Configuration configuration = new Configuration().configure("hibernate.cfg.xml");
            //TODO : yeni bir entity geldiinde ekleme yaplacak
            configuration.addAnnotatedClass(Fixtures.class);
            configuration.addAnnotatedClass(FixturesMatchResult.class);
            configuration.addAnnotatedClass(LeagueTableRows.class);
            configuration.addAnnotatedClass(LeagueTableTeamStatistics.class);
            configuration.addAnnotatedClass(Leagues.class);
            configuration.addAnnotatedClass(Leaguetable.class);
            configuration.addAnnotatedClass(Teams.class);
            configuration.addAnnotatedClass(Players.class);
            configuration.addAnnotatedClass(TokenInfo.class);
            configuration.addAnnotatedClass(UserInfo.class);
            configuration.addAnnotatedClass(FixturesTeam.class);
            configuration.addAnnotatedClass(FixturesTeamMatchResult.class);
            configuration.addAnnotatedClass(LeaguesCountry.class);

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

            // builds a session factory from the service registry
            sessionFactory = configuration.buildSessionFactory(serviceRegistry);
        } catch (HibernateException ex) {
            HelperUtil.AddErrorLog(LOG, ex);
        } catch (Exception e) {
            HelperUtil.AddErrorLog(LOG, e);
        }
    }

    return sessionFactory;
}

From source file:com.github.antennaesdk.messageserver.db.H2.H2Database.java

License:Apache License

public void generateSchemaAndCreateTables(SimpleDriverDataSource dataSource) {

    // Get the tables that are already in the DATABASE
    List<String> tables = new ArrayList<>();
    try {/*  w  w  w .j  ava 2 s  . co  m*/
        Connection connection = dataSource.getConnection();
        DatabaseMetaData databaseMetadata = connection.getMetaData();
        ResultSet resultSet = databaseMetadata.getTables(null, null, null, new String[] { "TABLE" });
        while (resultSet.next()) {
            String table = resultSet.getString(3);
            logger.info("Table : " + table + " ... exists");
            tables.add(table);
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }

    // Get the tables that are needed from Entity Classes
    List<Class> tablesToCreate = new ArrayList<>();
    for (Class<?> c : entityClasses) {
        // get the table names
        Table table = c.getAnnotation(Table.class);

        logger.info("Entity: " + c.getName() + " , Table: " + table.name());
        boolean isExisting = false;
        for (String dbTable : tables) {
            if (dbTable.equals(table.name())) {
                isExisting = true;
                break;
            }
        }

        if (!isExisting) {
            // these tables must be created
            tablesToCreate.add(c);
        }
    }

    // Check whether the tables need to be created...
    if (tablesToCreate.size() == 0) {
        logger.info("Tables already exist... ");
        return;
    } else {
        logger.info("Creating tables...");
    }

    //create a minimal configuration
    org.hibernate.cfg.Configuration cfg = new org.hibernate.cfg.Configuration();
    cfg.setProperty("hibernate.dialect", "org.hibernate.dialect.H2Dialect");
    cfg.setProperty("hibernate.hbm2ddl.auto", "create");

    // create a temporary file to write the DDL
    File ddlFile = null;
    try {
        File dir = getDirectoryFromClasspath();
        ddlFile = File.createTempFile("H2_", ".SQL", dir);
        ddlFile.deleteOnExit();
    } catch (IOException e) {
        e.printStackTrace();
    }

    // add the tables to be created
    for (Class c : tablesToCreate) {
        cfg.addAnnotatedClass(c);
    }

    //build all the mappings, before calling the AuditConfiguration
    cfg.buildMappings();
    cfg.getProperties().setProperty(AvailableSettings.HBM2DDL_IMPORT_FILES, ddlFile.getName());

    cfg.getProperties().setProperty("hibernate.connection.driver_class", "org.h2.Driver");
    cfg.getProperties().setProperty("hibernate.connection.url", dataSource.getUrl());
    cfg.getProperties().setProperty("hibernate.connection.username", dataSource.getUsername());
    cfg.getProperties().setProperty("hibernate.connection.password", dataSource.getPassword());

    //execute the export
    SchemaExport export = new SchemaExport(cfg);

    export.setDelimiter(";");
    export.setFormat(true);
    // create the tables in the DB and show the DDL in console
    export.create(true, true);
}

From source file:com.googlecode.sarasvati.example.hib.HibTestSetup.java

License:Open Source License

public static void init(final boolean createSchema) throws Exception {
    final Configuration config = new Configuration();

    if (createSchema) {
        config.setProperty(Environment.HBM2DDL_AUTO, "create-drop");
    }//from w  ww.  j a va2  s  .c o  m

    HibEngine.addToConfiguration(config, false);

    config.addAnnotatedClass(HibExampleTaskNode.class);
    config.addAnnotatedClass(Task.class);
    config.addAnnotatedClass(InitNode.class);
    config.addAnnotatedClass(DumpNode.class);
    config.addAnnotatedClass(AsyncNode.class);

    URL url = HibTestSetup.class.getClassLoader().getResource("hibernate.cfg.xml");

    if (url == null) {
        System.out.println("ERROR: No hibernate.cfg.xml found in classpath!\n"
                + "\tIn order to run the examples, you must create hibernate.cfg.xml in the examples/ directory.\n"
                + "\tYou can use the entries in conf/ as a starting point.");
        System.exit(-1);
    }

    config.configure(url);
    sessionFactory = config.buildSessionFactory();
}

From source file:com.googlecode.sarasvati.hib.HibEngine.java

License:Open Source License

public static void addToConfiguration(final Configuration config, final boolean enableCaching) {
    config.addAnnotatedClass(HibArc.class);
    config.addAnnotatedClass(HibArcToken.class);
    config.addAnnotatedClass(HibGraph.class);
    config.addAnnotatedClass(HibGraphListener.class);
    config.addAnnotatedClass(HibProcessListener.class);
    config.addAnnotatedClass(HibNode.class);
    config.addAnnotatedClass(HibNodeRef.class);
    config.addAnnotatedClass(HibNodeToken.class);
    config.addAnnotatedClass(HibGraphProcess.class);
    config.addAnnotatedClass(HibPropertyNode.class);
    config.addAnnotatedClass(HibCustomNodeWrapper.class);
    config.addAnnotatedClass(HibTokenSet.class);
    config.addAnnotatedClass(HibArcTokenSetMember.class);
    config.addAnnotatedClass(HibNodeTokenSetMember.class);
    config.addAnnotatedClass(HibNodeType.class);
    config.addAnnotatedClass(HibTokenSetMemberAttribute.class);
    config.addAnnotatedClass(HibExternal.class);

    if (enableCaching) {
        config.setCacheConcurrencyStrategy(HibGraph.class.getName(), "read-write");
        config.setCollectionCacheConcurrencyStrategy(HibGraph.class.getName() + ".nodes", "read-write");
        config.setCollectionCacheConcurrencyStrategy(HibGraph.class.getName() + ".arcs", "read-write");
        config.setCollectionCacheConcurrencyStrategy(HibGraph.class.getName() + ".listeners", "read-write");

        config.setCacheConcurrencyStrategy(HibGraphListener.class.getName(), "read-write");

        config.setCacheConcurrencyStrategy(HibNode.class.getName(), "read-write");
        config.setCacheConcurrencyStrategy(HibNodeRef.class.getName(), "read-write");
        config.setCacheConcurrencyStrategy(HibArc.class.getName(), "read-write");
        config.setCacheConcurrencyStrategy(HibExternal.class.getName(), "read-write");

        config.setCacheConcurrencyStrategy(HibGraphProcess.class.getName(), "read-write");
        config.setCollectionCacheConcurrencyStrategy(HibGraphProcess.class.getName() + ".listeners",
                "read-write");
        config.setCollectionCacheConcurrencyStrategy(HibGraphProcess.class.getName() + ".activeArcTokens",
                "read-write");
        config.setCollectionCacheConcurrencyStrategy(HibGraphProcess.class.getName() + ".activeNodeTokens",
                "read-write");
        config.setCollectionCacheConcurrencyStrategy(HibGraphProcess.class.getName() + ".executionQueue",
                "read-write");

        config.setCacheConcurrencyStrategy(HibProcessListener.class.getName(), "read-write");
        config.setCacheConcurrencyStrategy(HibNodeToken.class.getName(), "read-write");
        config.setCacheConcurrencyStrategy(HibArcToken.class.getName(), "read-write");
    }//  w ww .j  ava  2s .c  om
}