Example usage for org.hibernate.cfg Configuration buildSessionFactory

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

Introduction

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

Prototype

public SessionFactory buildSessionFactory() throws HibernateException 

Source Link

Document

Create a SessionFactory using the properties and mappings in this configuration.

Usage

From source file:generatehibernate.GenerateHibernate.java

/**
 * @param args the command line arguments
 *///  w  ww .ja  v  a  2 s .  c o m
public static void main(String[] args) {
    // TODO code application logic here
    Configuration cfg = new Configuration().configure("/resources/hibernate.cfg.xml");
    cfg.setInterceptor(new UserInterceptor());
    SessionFactory sessionFactory = cfg.buildSessionFactory();
    Session session = sessionFactory.openSession();

    Buyer br = new Buyer();
    Seller sl = new Seller();
    User user = new User();
    Product proud = new Product();
    //Product proud1=new Product();
    Category cate = new Category();
    BuyerBidProduct BuyerbidProduct = new BuyerBidProduct();
    BuyerBuyProduct BuyerbuyProuduct = new BuyerBuyProduct();

    user.setUserName("azza");
    user.setFullName("azza hamdy");
    user.setDateOfBirth(new Date());
    user.setAddress("suez");
    user.setPhone("123456789");
    user.setEmail("azza@mail.com");
    user.setRegistrationDate(new Date());
    user.setPassword("4815162342");
    user.setMobile("01025012646");

    br.setUser(user);
    br.setValue("Tea");

    sl.setUser(user);
    sl.setValue("teaaa");

    proud.setName("product1");
    proud.setQuantity(5);
    proud.setExpirationDate(new Date());
    proud.setDescription("firstproduct insert");
    proud.setFinishDate(new Date());
    proud.setManufacturingName("Hibernare");
    proud.setOfferedDate(new Date());
    proud.setManufacturingDate(new Date());
    proud.setSeller(sl);

    Product proud2 = new Product();

    proud2.setName("product4");
    proud2.setQuantity(5);
    proud2.setExpirationDate(new Date());
    proud2.setDescription("firstproduct insert");
    proud2.setFinishDate(new Date());
    proud2.setManufacturingName("Hibernare");
    proud2.setOfferedDate(new Date());
    proud2.setManufacturingDate(new Date());
    proud2.setSeller(sl);

    cate.setValue("cate2");
    cate.setDescription("blala");
    cate.getProducts().add(proud2);

    BuyerbidProduct.setBuyer(br);
    BuyerbidProduct.setProduct(proud2);
    BuyerbidProduct.setDate(new Date());
    BuyerbidProduct.setAmount(4f);
    BuyerbidProduct.setQuantity(2);

    BuyerbuyProuduct.setBuyer(br);
    BuyerbuyProuduct.setProduct(proud);
    BuyerbuyProuduct.setPaymentDate(new Date());
    BuyerbuyProuduct.setQuantity(4);
    BuyerbuyProuduct.setAmount(3f);

    session.save(user);
    session.save(sl);
    session.save(br);
    session.save(proud);
    //            session.save(proud1);
    session.save(proud2);

    session.save(cate);

    BuyerbidProduct.setId(new BuyerBidProductId(br.getId(), proud2.getId()));
    session.save(BuyerbidProduct);
    BuyerbuyProuduct.setId(new BuyerBuyProductId(br.getId(), proud.getId()));
    session.save(BuyerbuyProuduct);

    session.beginTransaction();

    //session.persist(br);
    //session.persist(sl);

    session.persist(BuyerbidProduct);
    session.persist(BuyerbuyProuduct);

    session.getTransaction().commit();
    session.close();
    System.out.println("Insertion Done");
}

From source file:generatehibernate.Test.java

public static void main(String[] args) {
    Configuration cfg = new Configuration().configure("/resources/hibernate.cfg.xml");
    cfg.setInterceptor(new UserInterceptor());
    SessionFactory sessionFactory = cfg.buildSessionFactory();

    Session session = sessionFactory.openSession();
    User user = new User();
    user.setUserName("Test interceptor");
    user.setFullName("azza hamdy");
    user.setDateOfBirth(new Date());
    user.setAddress("suez");
    user.setPhone("123456789");
    user.setEmail("test@mail.com");
    user.setRegistrationDate(new Date());
    user.setPassword("4815162342");
    user.setMobile("01025012646");
    session.save(user);/*from  w w w  . java2s  .  c o  m*/
    session.persist(user);
    session.getTransaction().commit();
    session.close();
    System.out.println("Insertion Done");
}

From source file:gov.nih.nci.security.authorization.instancelevel.InstanceLevelSecurityHelper.java

License:BSD License

private static void enableSelectedFilter(AuthorizationManager authorizationManager, Configuration configuration,
        String sqlString, String sqlParameterOne, String sqlParameterTwo,
        Hashtable<String, DetachedCriteria> criteriaHolderHash) {
    //search values for all filter attributes, which are set by associated ProtectionElement
    Hashtable<String, String> filterValueHash = new Hashtable<String, String>();
    SessionFactory sf = configuration.buildSessionFactory();
    Session session = sf.openSession();//from  w w w  . j a  v a2s.  c o m
    Query query = session.createSQLQuery(sqlString);
    query.setParameter(0, sqlParameterOne, Hibernate.STRING);
    query.setParameter(1, sqlParameterTwo, Hibernate.STRING);

    List results = query.list();
    for (Object peObj : results) {
        Object[] resultArray = (Object[]) peObj;
        filterValueHash.put((String) resultArray[0], (String) resultArray[1]);
    }

    //process all FilterClause and generate required DetachedCriteria
    List<FilterClause> filterClauseList = retriveAllCsmFilterClause(authorizationManager);
    for (FilterClause filterClause : filterClauseList) {
        String filterValue = filterValueHash.get(filterClause.getTargetClassName());
        if (filterValue == null || filterValue.length() == 0)
            filterValue = filterValueHash.get(filterClause.getTargetClassAlias());
        if (filterValue == null || filterValue.length() == 0)
            filterValue = filterValueHash.get(filterClause.getClassName());
        if (filterValue == null || filterValue.length() == 0)
            continue; // this filter is not enabled

        DetachedCriteria filterQuery = (DetachedCriteria) criteriaHolderHash.get(filterClause.getClassName());
        if (filterQuery == null)
            try {
                filterQuery = DetachedCriteria.forClass(Class.forName(filterClause.getClassName()));
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        //if self filter
        //"gov.nih.nci.cacoresdk.domain.manytomany.bidirectional.Employee - self"
        if (filterClause.getFilterChain().contains(filterClause.getClassName()))
            filterQuery.add(Property.forName(filterClause.getTargetClassAttributeName()).eq(filterValue));
        else {
            //filter on referred object
            //"gov.nih.nci.cacoresdk.domain.manytomany.bidirectional.Project - projectCollection"
            //            String referredClassName=filterClause.getFilterChain().substring(0, filterClause.getTargetClassName().indexOf(" "));
            String referenceName = filterClause.getFilterChain();
            filterQuery.createCriteria(referenceName)
                    .add(Property.forName(filterClause.getTargetClassAttributeName()).eq(filterValue));
        }
        criteriaHolderHash.put(filterClause.getClassName(), filterQuery);
    }
}

From source file:gov.nih.nci.security.system.ApplicationSessionFactory.java

License:Open Source License

public static SessionFactory getSessionFactory(String applicationContextName, HashMap connectionProperties)
        throws CSConfigurationException {
    SessionFactory sessionFactory = null;

    sessionFactory = (SessionFactory) appSessionFactories.get(applicationContextName);
    if (sessionFactory == null) {
        try {/*from  w  w w  . java  2  s . c o m*/
            Configuration configuration = new Configuration();
            configuration.addResource(
                    "gov/nih/nci/security/authorization/domainobjects/InstanceLevelMappingElement.hbm.xml");
            configuration.addResource("gov/nih/nci/security/authorization/domainobjects/Privilege.hbm.xml");
            configuration.addResource("gov/nih/nci/security/authorization/domainobjects/Application.hbm.xml");
            configuration.addResource("gov/nih/nci/security/authorization/domainobjects/FilterClause.hbm.xml");
            configuration.addResource("gov/nih/nci/security/authorization/domainobjects/Role.hbm.xml");
            configuration.addResource("gov/nih/nci/security/dao/hibernate/RolePrivilege.hbm.xml");
            configuration.addResource("gov/nih/nci/security/dao/hibernate/UserGroup.hbm.xml");
            configuration
                    .addResource("gov/nih/nci/security/dao/hibernate/ProtectionGroupProtectionElement.hbm.xml");
            configuration.addResource("gov/nih/nci/security/authorization/domainobjects/Group.hbm.xml");
            configuration.addResource("gov/nih/nci/security/authorization/domainobjects/User.hbm.xml");
            configuration
                    .addResource("gov/nih/nci/security/authorization/domainobjects/ProtectionGroup.hbm.xml");
            configuration
                    .addResource("gov/nih/nci/security/authorization/domainobjects/ProtectionElement.hbm.xml");
            configuration.addResource(
                    "gov/nih/nci/security/authorization/domainobjects/UserGroupRoleProtectionGroup.hbm.xml");
            configuration.addResource(
                    "gov/nih/nci/security/authorization/domainobjects/UserProtectionElement.hbm.xml");
            configuration.setProperty("hibernate.connection.url",
                    (String) connectionProperties.get("hibernate.connection.url"));
            configuration.setProperty("hibernate.connection.username",
                    (String) connectionProperties.get("hibernate.connection.username"));
            configuration.setProperty("hibernate.connection.password",
                    (String) connectionProperties.get("hibernate.connection.password"));
            configuration.setProperty("hibernate.dialect",
                    (String) connectionProperties.get("hibernate.dialect"));
            configuration.setProperty("hibernate.connection.driver_class",
                    (String) connectionProperties.get("hibernate.connection.driver_class"));
            configuration.setProperty("hibernate.c3p0.min_size", "5");
            configuration.setProperty("hibernate.c3p0.max_size", "20");
            configuration.setProperty("hibernate.c3p0.timeout", "300");
            configuration.setProperty("hibernate.c3p0.max_statements", "50");
            configuration.setProperty("hibernate.c3p0.idle_test_period", "3000");

            sessionFactory = configuration.buildSessionFactory();
        } catch (Exception e) {
            throw new CSConfigurationException(
                    "Error in initializing the hibernate session factory using the provided connection parameters",
                    e);
        }
        appSessionFactories.put(applicationContextName, sessionFactory);
    }
    return sessionFactory;
}

From source file:gov.nih.nci.security.upt.util.HibernateHelper.java

License:BSD License

public static SessionFactory loadSessionFactory(String fileName, HttpSession sess)
        throws CSConfigurationException {
    FileLoader fileLoader = FileLoader.getInstance();
    InputStream stream = fileLoader.getFileAsStream(fileName);

    SessionFactory sessionFactory = null;
    try {//from   w w  w . j  a va2  s. co m
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

        DocumentBuilder db = dbf.newDocumentBuilder();
        Document doc = db.parse(stream);

        //File file = new File(url.toURI());
        //AnnotationConfiguration configuration = new AnnotationConfiguration().configure(doc);
        Configuration configuration = new Configuration().configure(doc);
        if (configuration.getProperty("hibernate.cache.use_second_level_cache") == null
                || configuration.getProperty("cache.use_second_level_cache") == null) {
            configuration.setProperty("hibernate.cache.use_second_level_cache", "false");
            configuration.setProperty("cache.use_second_level_cache", "false");
        }
        JDBCHelper.testConnectionHibernate(configuration);
        sessionFactory = configuration.buildSessionFactory();
    } catch (CacheException e) {
        e.printStackTrace();
        ClassPathLoader.releaseJarsFromClassPath(sess);
        throw new CSConfigurationException(
                "Error in loading the Session Factory from the Hibernate File." + e.getMessage());
    } catch (Exception exception) {
        exception.printStackTrace();
        throw new CSConfigurationException(
                "Error in loading the Session Factory from the Hibernate File." + exception.getMessage());
    }

    if (null == sessionFactory)
        throw new CSConfigurationException("Error in loading the Session Factory from the Hibernate File");
    else {
        Session session = null;
        try {
            session = sessionFactory.openSession();
        } catch (Exception exception) {
            exception.printStackTrace();
            throw new CSConfigurationException("Error in creating a Session from the Loaded Session Factory");
        }
        if (null == session)
            throw new CSConfigurationException("Error in creating a Session from the Loaded Session Factory");
    }
    return sessionFactory;
}

From source file:gov.nih.nci.security.upt.util.JDBCHelper.java

License:BSD License

/**
 * This method uses Hibernates SessionFactory to get a Session and using Hibernates Criteria does a sample query
 * to connection and obtain results as part of testing for successful connection.
 *
 * Based on the kind of exceptions this method throws CSException with appropriate message.
 * @param appForm -//from  w  w  w  .  ja  va  2s  .  c  o  m
 *            The ApplicationForm with application database parameters to
 *            test connection for.
 * @return String - The message indicating that connection and a SQL query
 *         was successful
 * @throws CSException -
 *             The exception message indicates which kind of application
 *             database parameters are invalid.
 */
public static String testConnectionHibernate(BaseDBForm appForm) throws CSException {
    ApplicationForm appform = (ApplicationForm) appForm;

    SessionFactory sf = null;
    try {

        Configuration configuration = new Configuration();
        configuration.addResource("gov/nih/nci/security/authorization/domainobjects/Application.hbm.xml");
        configuration.setProperty("hibernate.connection.url", appform.getApplicationDatabaseURL());
        configuration.setProperty("hibernate.connection.username", appform.getApplicationDatabaseUserName());
        configuration.setProperty("hibernate.connection.password", appform.getApplicationDatabasePassword());
        configuration.setProperty("hibernate.dialect", appform.getApplicationDatabaseDialect());
        configuration.setProperty("hibernate.connection.driver_class", appform.getApplicationDatabaseDriver());
        configuration.setProperty("hibernate.connection.pool_size", "1");
        sf = configuration.buildSessionFactory();
        Session session = sf.openSession();

        Criteria criteria = session.createCriteria(ApplicationContext.class);
        criteria.add(Expression.eq("applicationName", appform.getApplicationName().trim()));
        criteria.setProjection(Projections.rowCount());

        List results = criteria.list();
        Integer integer = (Integer) results.iterator().next();
        if (integer == null) {
            session.close();
            throw new CSException(DisplayConstants.APPLICATION_DATABASE_CONNECTION_FAILED);
        }

        session.close();
        return DisplayConstants.APPLICATION_DATABASE_CONNECTION_SUCCESSFUL;

    } catch (Throwable t) {
        // Depending on the cause of the exception obtain message and throw a CSException.
        if (t instanceof SQLGrammarException) {
            throw new CSException(
                    DisplayConstants.APPLICATION_DATABASE_CONNECTION_FAILED + " " + t.getCause().getMessage());
        }
        if (t instanceof JDBCConnectionException) {
            if (t.getCause() instanceof CommunicationsException) {
                throw new CSException(DisplayConstants.APPLICATION_DATABASE_CONNECTION_FAILED_URL_SERVER_PORT);
            }
            if (t.getCause() instanceof SQLException) {
                throw new CSException(DisplayConstants.APPLICATION_DATABASE_CONNECTION_FAILED_URL);
            }
            throw new CSException(
                    DisplayConstants.APPLICATION_DATABASE_CONNECTION_FAILED + " " + t.getMessage());
        }
        if (t instanceof GenericJDBCException) {
            throw new CSException(DisplayConstants.APPLICATION_DATABASE_CONNECTION_FAILED_URL_USER_PASS);
        }
        if (t instanceof HibernateException) {
            throw new CSException(
                    DisplayConstants.APPLICATION_DATABASE_CONNECTION_FAILED + " " + t.getMessage());
        }

        throw new CSException(DisplayConstants.APPLICATION_DATABASE_CONNECTION_FAILED);
    }

}

From source file:gov.nih.nci.security.upt.util.JDBCHelper.java

License:BSD License

/**
 * This method uses Hibernates SessionFactory to get a Session and using Hibernates Criteria does a sample query
 * to connection and obtain results as part of testing for successful connection.
 *
 * Based on the kind of exceptions this method throws CSException with appropriate message.
 * @param appForm -/*from  w ww  .  ja va2 s .  co m*/
 *            The ApplicationForm with application database parameters to
 *            test connection for.
 * @return String - The message indicating that connection and a SQL query
 *         was successful
 * @throws CSException -
 *             The exception message indicates which kind of application
 *             database parameters are invalid.
 */
public static String testConnectionHibernate(Configuration configuration) throws CSException {

    SessionFactory sf = null;
    ResultSet rs = null;
    Statement stmt = null;
    Connection conn = null;
    Session session = null;
    try {
        //System.out.println("testConnectionHibernate*****1");
        sf = configuration.buildSessionFactory();
        //System.out.println("testConnectionHibernate*****2");
        session = sf.openSession();
        //System.out.println("testConnectionHibernate*****3");
        conn = session.connection();
        //System.out.println("testConnectionHibernate*****4");
        stmt = conn.createStatement();
        //System.out.println("testConnectionHibernate*****5");
        stmt.execute("select count(*) from csm_application");
        //System.out.println("testConnectionHibernate*****6");
        rs = stmt.getResultSet();
        //System.out.println("testConnectionHibernate*****7");

        //System.out.println(rs.getMetaData().getColumnCount());

        return DisplayConstants.APPLICATION_DATABASE_CONNECTION_SUCCESSFUL;

    } catch (Throwable t) {
        t.printStackTrace();
        // Depending on the cause of the exception obtain message and throw a CSException.
        if (t instanceof SQLGrammarException) {
            throw new CSException(
                    DisplayConstants.APPLICATION_DATABASE_CONNECTION_FAILED + " " + t.getCause().getMessage());
        }
        if (t instanceof JDBCConnectionException) {
            if (t.getCause() instanceof CommunicationsException) {
                throw new CSException(DisplayConstants.APPLICATION_DATABASE_CONNECTION_FAILED_URL_SERVER_PORT);
            }
            if (t.getCause() instanceof SQLException) {
                throw new CSException(DisplayConstants.APPLICATION_DATABASE_CONNECTION_FAILED_URL);
            }
            throw new CSException(
                    DisplayConstants.APPLICATION_DATABASE_CONNECTION_FAILED + " " + t.getMessage());
        }
        if (t instanceof GenericJDBCException) {
            throw new CSException(DisplayConstants.APPLICATION_DATABASE_CONNECTION_FAILED_URL_USER_PASS + " ");
        }
        if (t instanceof CacheException) {
            throw new CacheException("Please Try Again.\n ");

        }
        if (t instanceof HibernateException) {
            throw new CSException(
                    DisplayConstants.APPLICATION_DATABASE_CONNECTION_FAILED + " " + t.getMessage());
        }

        throw new CSException(DisplayConstants.APPLICATION_DATABASE_CONNECTION_FAILED_URL_USER_PASS);
    } finally {
        try {
            sf.close();
            rs.close();
            stmt.close();
            conn.close();
            session.close();
        } catch (Exception e) {
        }

    }

}

From source file:gr.interamerican.bo2.impl.open.hibernate.HibernateConfigurations.java

License:Open Source License

/**
 * Creates a SessionFactory.// www. j  a  v a 2 s  . co  m
 * 
 * @param pathToCfg
 *        Path to the hibernate configuration file.
 * @param dbSchema
 *        Db schema.
 * @param sessionInterceptor
 *        Hibernate session interceptor.
 * @param hibernateMappingsPath
 *        Path to file that lists files indexing hbm files this session factory
 *        should be configured with
 * 
 * @return Returns the session factory.
 * 
 * @throws InitializationException
 *         If the creation of the SessionFactory fails.
 */
@SuppressWarnings("nls")
static SessionFactory createSessionFactory(String pathToCfg, String dbSchema, String sessionInterceptor,
        String hibernateMappingsPath) throws InitializationException {
    try {
        Configuration conf = new Configuration();

        Interceptor interceptor = getInterceptor(sessionInterceptor);
        if (interceptor != null) {
            conf.setInterceptor(interceptor);
        }

        conf.setProperty(SCHEMA_PROPERTY, dbSchema);

        List<String> hbms = getHibernateMappingsIfAvailable(hibernateMappingsPath);
        for (String entityMapping : hbms) {
            LOGGER.debug("Adding " + entityMapping + " to the session factory configuration.");
            conf.addResource(entityMapping);
        }

        conf.configure(pathToCfg);

        conf.getEntityTuplizerFactory().registerDefaultTuplizerClass(EntityMode.POJO,
                Bo2PojoEntityTuplizer.class);
        SessionFactory sessionFactory = conf.buildSessionFactory();
        ((SessionFactoryImpl) sessionFactory).registerEntityNameResolver(Bo2EntityNameResolver.INSTANCE,
                EntityMode.POJO);
        sessionFactory.getStatistics().setStatisticsEnabled(true);
        return sessionFactory;
    } catch (HibernateException e) {
        throw new InitializationException(e);
    }
}

From source file:gr.kzps.id2212.marketplace.server.database.DatabaseConnector.java

public DatabaseConnector() {
    sessionFactory = null;/*  w w w.  j a  va2  s  . c om*/
    session = null;

    Configuration conf = new Configuration();
    conf.configure("hibernate.cfg.xml");

    sessionFactory = conf.buildSessionFactory();
    session = sessionFactory.openSession();
}

From source file:gui.AddOwner.java

public void init() {
    primaryStage = new Stage();
    primaryStage.setTitle("Java klient server");

    Group root = new Group();
    Scene scene = new Scene(root, 400, 300);

    fName = new TextField();
    fName.setTooltip(new Tooltip("Enter First Name"));
    fName.setFont(Font.font("SanSerif", 15));
    fName.setPromptText("First Name");
    fName.setMaxWidth(200);//w ww.j a  va2s . c  o m

    lName = new TextField();
    lName.setTooltip(new Tooltip("Enter Last Name"));
    lName.setFont(Font.font("SanSerif", 15));
    lName.setPromptText("Last Name");
    lName.setMaxWidth(200);

    email = new TextField();
    email.setTooltip(new Tooltip("Enter Email"));
    email.setFont(Font.font("SanSerif", 15));
    email.setPromptText("Email");
    email.setMaxWidth(200);

    mobileNo = new TextField();
    mobileNo.setTooltip(new Tooltip("Enter Mobile Number"));
    mobileNo.setFont(Font.font("SanSerif", 15));
    mobileNo.setPromptText("Mobile No");
    mobileNo.setMaxWidth(200);

    //Hibernate Configuration
    Configuration cfg = new Configuration().configure();
    SessionFactory sf = cfg.buildSessionFactory();

    Majitel majitel = new Majitel();

    savebtn = new Button("Save");
    savebtn.setTooltip(new Tooltip("Save the User Details"));
    savebtn.setFont(Font.font("SanSerif", 15));
    savebtn.setOnAction(e -> {
        majitel.setFirstName(fName.getText());
        majitel.setLastName(lName.getText());
        majitel.setEmail(email.getText());
        majitel.setMobileNumber(mobileNo.getText());

        Session session = sf.openSession();
        session.beginTransaction();
        session.save(majitel);
        session.getTransaction().commit();
        session.close();

        clearFields();

    });

    VBox vbox = new VBox(10);
    vbox.getChildren().addAll(fName, lName, email, mobileNo, savebtn);
    vbox.setPadding(new Insets(10));
    root.getChildren().add(vbox);

    primaryStage.setScene(scene);
    primaryStage.show();
}