예제 #1
0
 static {
   try {
     // 采用默认的hibernate.cfg.xml来启动一个Configuration的实例
     Configuration configuration = new Configuration().configure();
     // 由Configuration的实例来创建一个SessionFactory实例
     sessionFactory = configuration.buildSessionFactory();
   } catch (Throwable ex) {
     System.err.println("Initial SessionFactory creation failed." + ex);
     throw new ExceptionInInitializerError(ex);
   }
 }
예제 #2
0
 static {
   try {
     // Create the SessionFactory from hibernate.cfg.xml
     Configuration configuration = new Configuration();
     configuration.configure();
     serviceRegistry =
         new ServiceRegistryBuilder()
             .applySettings(configuration.getProperties())
             .buildServiceRegistry();
     sessionFactory = configuration.buildSessionFactory(serviceRegistry);
   } catch (Throwable ex) {
     System.err.println("Initial SessionFactory creation failed." + ex);
     throw new ExceptionInInitializerError(ex);
   }
 }
예제 #3
0
  public static void main(String[] args) {
    Configuration cfg = new Configuration();
    cfg = cfg.configure("hibernate.oracle.cfg.xml");
    SessionFactory factory = cfg.buildSessionFactory();
    Session ses = factory.openSession();

    Bank b = new Bank();
    String name;
    name = "SBI";
    // b.setSid(sid);
    b.setName(name);
    Transaction tx = ses.beginTransaction();
    ses.persist(b);
    tx.commit();
    ses.close();

    System.out.println("Record Inserted!");
    factory.close();
  }
  /**
   * Initializes store.
   *
   * @throws GridException If failed to initialize.
   */
  private void init() throws GridException {
    if (initGuard.compareAndSet(false, true)) {
      if (log.isDebugEnabled()) log.debug("Initializing cache store.");

      try {
        if (sesFactory != null)
          // Session factory has been provided - nothing to do.
          return;

        if (!F.isEmpty(hibernateCfgPath)) {
          try {
            URL url = new URL(hibernateCfgPath);

            sesFactory = new Configuration().configure(url).buildSessionFactory();

            if (log.isDebugEnabled()) log.debug("Configured session factory using URL: " + url);

            // Session factory has been successfully initialized.
            return;
          } catch (MalformedURLException e) {
            if (log.isDebugEnabled())
              log.debug("Caught malformed URL exception: " + e.getMessage());
          }

          // Provided path is not a valid URL. File?
          File cfgFile = new File(hibernateCfgPath);

          if (cfgFile.exists()) {
            sesFactory = new Configuration().configure(cfgFile).buildSessionFactory();

            if (log.isDebugEnabled())
              log.debug("Configured session factory using file: " + hibernateCfgPath);

            // Session factory has been successfully initialized.
            return;
          }

          // Provided path is not a file. Classpath resource?
          sesFactory = new Configuration().configure(hibernateCfgPath).buildSessionFactory();

          if (log.isDebugEnabled())
            log.debug("Configured session factory using classpath resource: " + hibernateCfgPath);
        } else {
          if (hibernateProps == null) {
            U.warn(
                log, "No Hibernate configuration has been provided for store (will use default).");

            hibernateProps = new Properties();

            hibernateProps.setProperty("hibernate.connection.url", DFLT_CONN_URL);
            hibernateProps.setProperty("hibernate.show_sql", DFLT_SHOW_SQL);
            hibernateProps.setProperty("hibernate.hbm2ddl.auto", DFLT_HBM2DDL_AUTO);
          }

          Configuration cfg = new Configuration();

          cfg.setProperties(hibernateProps);

          assert resourceAvailable(MAPPING_RESOURCE);

          cfg.addResource(MAPPING_RESOURCE);

          sesFactory = cfg.buildSessionFactory();

          if (log.isDebugEnabled())
            log.debug("Configured session factory using properties: " + hibernateProps);
        }
      } catch (HibernateException e) {
        throw new GridException("Failed to initialize store.", e);
      } finally {
        initLatch.countDown();
      }
    } else if (initLatch.getCount() > 0) U.await(initLatch);

    if (sesFactory == null) throw new GridException("Cache store was not properly initialized.");
  }
예제 #5
0
 /**
  * @return
  * @throws HibernateException
  */
 private static SessionFactory configureSessionFactory() throws HibernateException {
   sessionFactory = configuration.buildSessionFactory();
   return sessionFactory;
 }