Example usage for org.hibernate.boot.registry StandardServiceRegistryBuilder build

List of usage examples for org.hibernate.boot.registry StandardServiceRegistryBuilder build

Introduction

In this page you can find the example usage for org.hibernate.boot.registry StandardServiceRegistryBuilder build.

Prototype

@SuppressWarnings("unchecked")
public StandardServiceRegistry build() 

Source Link

Document

Build the StandardServiceRegistry.

Usage

From source file:servlet.NewSR.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.// w  w w.j ava2s  .c  o m
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    try (PrintWriter out = response.getWriter()) {
        /* TODO output your page here. You may use following sample code. */
        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet page1</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Servlet page1 at " + request.getContextPath() + "</h1>");

        try {
            Configuration configuration = new Configuration();
            configuration.configure("hibernate.cfg.xml");
            StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder()
                    .applySettings(configuration.getProperties());
            SessionFactory sessionFactory = configuration.buildSessionFactory(ssrb.build());
            Session session = sessionFactory.openSession();
            Transaction trans = session.beginTransaction();

            Query query = session.createQuery("from data.Sc sc where sc.id = :anId");
            query.setParameter("anId", Integer.valueOf(request.getParameter("sc_id")));
            Sc sc = (Sc) query.uniqueResult();
            if (sc == null) {
                throw new HibernateException(new Throwable("The SC_ID doesn't exist"));
            }

            query = session.createQuery("from data.S s where s.id = :anId");
            query.setParameter("anId", Integer.valueOf(request.getParameter("s_id")));
            S s = (S) query.uniqueResult();
            if (sc == null) {
                throw new HibernateException(new Throwable("The S_ID doesn't exist"));
            }

            query = session.createQuery("from data.Sp sp where sp.id = :anId");
            query.setParameter("anId", Integer.valueOf(request.getParameter("sp_id")));
            Sp sp = (Sp) query.uniqueResult();
            if (sp == null) {
                throw new HibernateException(new Throwable("The SP_ID doesn't exist"));
            }

            query = session.createQuery("from data.Qoso qoso where qoso.id = :anId");
            query.setParameter("anId", Integer.valueOf(request.getParameter("qoso_id")));
            Qoso qoso = (Qoso) query.uniqueResult();
            if (qoso == null) {
                throw new HibernateException(new Throwable("The Qoso_ID doesn't exist"));
            }

            Sr sr = new Sr(qoso, s, sc, sp, sc.getName(), s.getName(), request.getParameter("statut"));
            session.persist(sr);
            trans.commit();
            session.close();
            out.println("The creation of this Service Registery has succeded !!<br/>");
        } catch (HibernateException he) {
            out.println(he.getMessage() + "<br/>");
            out.println("The creation of this Service Registery has failed...<br/>");
        }

        out.println("</body>");
        out.println("</html>");
    }
}

From source file:servlet.UpdateSRStatut.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*from w w w.  jav  a 2  s. co m*/
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    try (PrintWriter out = response.getWriter()) {
        /* TODO output your page here. You may use following sample code. */
        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet UpdateSRStatut</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Servlet UpdateSRStatut at " + request.getContextPath() + "</h1>");

        // No try catch, I suppose the connexion will be okey...
        Configuration configuration = new Configuration();
        configuration.configure("hibernate.cfg.xml");
        StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder()
                .applySettings(configuration.getProperties());
        SessionFactory sessionFactory = configuration.buildSessionFactory(ssrb.build());
        Session session = sessionFactory.openSession();
        Transaction trans = session.beginTransaction();

        try {
            int sr_id;
            try {
                sr_id = Integer.valueOf(request.getParameter("sr_id"));
            } catch (NumberFormatException ne) {
                throw new HibernateException(new Throwable("The SR ID isn't a number"));
            }
            Query query = session.createQuery("from data.Sr sr where sr.id = :anId");
            query.setParameter("anId", sr_id);
            Sr sr = (Sr) query.uniqueResult();
            if (sr == null) {
                throw new HibernateException(new Throwable("The SR ID doesn't exist"));
            }
            sr.setStatus(request.getParameter("statut"));
            session.persist(sr);
            trans.commit();
            session.close();
            out.println("The update of the statut has succeded !!<br/>");
        } catch (HibernateException he) {
            out.println(he.getMessage() + "<br/>");
            out.println("The update of the statut has failed...<br/>");
            trans.rollback();
            session.close();
        }

        out.println("</body>");
        out.println("</html>");
    }
}

From source file:SessionManager.SessionManager.java

public static Session getSession() throws HibernateException {

    // Registra los mappers en la configuracion
    registerMappers(config);/*from   w ww .  j  a  v a2s.  com*/

    // Establece las propiedades de configuracion
    config.setProperties(getHibernateProperties());

    // Guarda la fabrica de sesiones
    StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder()
            .applySettings(config.getProperties());
    factory = config.buildSessionFactory(builder.build());

    // Retorna una sesion de trabajo
    return factory.openSession();

}

From source file:SfUtil.SfUtil.java

public SessionFactory SfUtil() {
    Configuration config = new Configuration().configure("hibernate.cfg.xml");
    StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder()
            .applySettings(config.getProperties());

    SessionFactory sf = config.buildSessionFactory(builder.build());

    return sf;/*w  w  w  .j a va 2s  .com*/
}

From source file:sk.cagani.stuba.bpbp.serverApp.DatabaseConnector.java

public DatabaseConnector() {
    Configuration configuration = new Configuration();
    configuration.configure("hibernate.cfg.xml");
    configuration.addJar(new File("/home/debian/BPbp/target/lib/BPbpDatabaseMapper-1.0.jar"));
    StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder()
            .applySettings(configuration.getProperties());
    sessionFactory = configuration.buildSessionFactory(ssrb.build());
    stats = sessionFactory.getStatistics();
    stats.setStatisticsEnabled(true);//from w ww .  ja  va2  s . c o m
}

From source file:src.conexao.HibernateUtil.java

private static SessionFactory buildSessionFactory() {
    try {//  w w  w  .  j  av  a  2  s  .co m
        //objeto que armazena configuraes do hibernate.cfg.xml
        Configuration configuration = new Configuration();

        //mtodo que l e valida as configuraes em hibernate.cfg.xml
        configuration.configure();
        StandardServiceRegistryBuilder serviceRegistryBuilder = new StandardServiceRegistryBuilder();

        //aplica e carrega as configuraes no objeto serviceRegistry
        serviceRegistryBuilder.applySettings(configuration.getProperties());
        //objeto responsvel pela configuraes do hibernate.cfg.xml
        ServiceRegistry serviceRegistry = serviceRegistryBuilder.build();
        //cria uma ou mais instncias de sesso da configurao.
        //Geralmente uma aplicao tem uma nica instncia de sesso e threads servindo pedidos de clientes 
        //obtendo instncias da sesso do factory(fbrica) 
        //fabrica uma ou mais instncia de sesses de acesso ao banco a partir da configuraes do objeto serviceRegistry

        return configuration.buildSessionFactory(serviceRegistry);

    } catch (Throwable e) {
        throw new ExceptionInInitializerError("Criacao do objeto falhou: " + e);
    }
}

From source file:to.etc.domui.hibernate.config.HibernateConfigurator.java

License:Open Source License

/**
 * Main worker to initialize the database layer, using Hibernate, with a user-specified core data source. This
 * code also enables SQL logging when .developer.properties option hibernate.sql=true.
 *//*from ww  w  . j a va2  s. com*/
public synchronized static void initialize(final DataSource ds) throws Exception {
    System.setProperty("org.jboss.logging.provider", "slf4j"); // Thanks to https://stackoverflow.com/questions/11639997/how-do-you-configure-logging-in-hibernate-4-to-use-slf4j
    if (m_sessionFactory != null)
        throw new IllegalStateException("HibernateConfigurator has already been initialized!");
    if (m_annotatedClassList.size() == 0)
        throw new IllegalStateException(
                "Please call addClasses(Class<?>...) and register your Hibernate data classes before calling me.");

    long ts = System.nanoTime();
    m_dataSource = ds;

    // see https://www.boraji.com/hibernate-5-event-listener-example

    //-- Create Hibernate's config. See https://docs.jboss.org/hibernate/orm/5.1/userguide/html_single/chapters/bootstrap/Bootstrap.html
    /*
     * Hibernate apparently cannot initialize without the useless hibernate.cfg.xml file. We cannot
     * add that file at the root location because that would interfere with applications. To have a
     * working model we add it as a resource in this class's package. And of course Hibernate makes
     * it hard to reach- we need to calculate the proper name, sigh.
     */
    BootstrapServiceRegistry bootstrapRegistry = new BootstrapServiceRegistryBuilder()
            .applyIntegrator(new JpaIntegrator()).build();

    String resname = "/" + HibernateConfigurator.class.getPackage().getName().replace('.', '/')
            + "/hibernate.cfg.xml";
    StandardServiceRegistryBuilder serviceBuilder = new StandardServiceRegistryBuilder(bootstrapRegistry)
            .configure(resname);

    /*
     * Set other properties according to config settings made.
     */
    serviceBuilder.applySetting("hibernate.connection.datasource", ds);
    boolean logsql;
    if (m_showSQL == null)
        logsql = DeveloperOptions.getBool("hibernate.sql", false); // Take default from .developer.properties
    else
        logsql = m_showSQL.booleanValue();

    if (logsql) {
        serviceBuilder.applySetting("show_sql", "true");
        serviceBuilder.applySetting("hibernate.show_sql", "true");
    }

    /*
     * Hibernate defaults to completely non-standard behavior for sequences, using the
     * "hilo" sequence generator by default. This irresponsible behavior means that
     * by default Hibernate code is incompatible with any code using sequences.
     * Since that is irresponsible and downright DUMB this reverts the behavior to
     * using sequences in their normal behavior.
     * See https://stackoverflow.com/questions/12745751/hibernate-sequencegenerator-and-allocationsize
     */
    serviceBuilder.applySetting("hibernate.id.new_generator_mappings", "true"); // MUST BE BEFORE config.configure

    m_hibernateOptions.forEach((option, value) -> serviceBuilder.applySetting(option, value));

    if (DeveloperOptions.getBool("hibernate.format_sql", true)) {
        serviceBuilder.applySetting("hibernate.format_sql", "true");
    }

    switch (m_mode) {
    default:
        throw new IllegalStateException("Mode: " + m_mode);
    case CREATE:
        serviceBuilder.applySetting("hbm2ddl.auto", "create");
        serviceBuilder.applySetting("hibernate.hbm2ddl.auto", "create");
        break;
    case NONE:
        serviceBuilder.applySetting("hbm2ddl.auto", "none");
        serviceBuilder.applySetting("hibernate.hbm2ddl.auto", "none");
        break;
    case UPDATE:
        serviceBuilder.applySetting("hbm2ddl.auto", "update");
        serviceBuilder.applySetting("hibernate.hbm2ddl.auto", "update");
        break;
    }

    // change settings
    for (IHibernateConfigListener listener : m_onConfigureList) {
        listener.onSettings(serviceBuilder);
    }

    ServiceRegistry reg = serviceBuilder.build();
    MetadataSources sources = new MetadataSources(reg);

    for (Class<?> clz : m_annotatedClassList)
        sources.addAnnotatedClass(clz);

    // add classes
    for (IHibernateConfigListener listener : m_onConfigureList) {
        listener.onAddSources(sources);
    }

    Metadata metaData = sources.getMetadataBuilder()
            .applyImplicitNamingStrategy(ImplicitNamingStrategyJpaCompliantImpl.INSTANCE).build();

    enhanceMappings(metaData);

    //for(Consumer<Configuration> listener : m_onConfigureList) {
    //   listener.accept(config);
    //}

    //-- Create the session factory: this completes the Hibernate config part.
    SessionFactoryBuilder sessionFactoryBuilder = metaData.getSessionFactoryBuilder();

    //      sessionFactoryBuilder.applyInterceptor( new CustomSessionFactoryInterceptor() );

    //sessionFactoryBuilder.addSessionFactoryObservers( new CustomSessionFactoryObserver() );

    // Apply a CDI BeanManager ( for JPA event listeners )
    //sessionFactoryBuilder.applyBeanManager( getBeanManager() );

    SessionFactoryImplementor sessionFactory = (SessionFactoryImplementor) sessionFactoryBuilder.build();
    m_sessionFactory = sessionFactory;

    EventListenerRegistry listenerRegistry = sessionFactory.getServiceRegistry()
            .getService(EventListenerRegistry.class);
    if (m_beforeImagesEnabled) {
        // https://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/chapters/events/Events.html
        listenerRegistry.prependListeners(EventType.POST_LOAD, new CreateBeforeImagePostLoadListener());
        listenerRegistry.prependListeners(EventType.INIT_COLLECTION, new CopyCollectionEventListener());
    }
    for (IHibernateConfigListener listener : m_onConfigureList) {
        listener.onAddListeners(listenerRegistry);
    }

    //-- Start DomUI/WebApp.core initialization: generalized database layer
    HibernateSessionMaker hsm;
    if (m_beforeImagesEnabled) {
        //-- We need the copy interceptor to handle these.
        hsm = dc -> {
            return m_sessionFactory.withOptions().interceptor(new BeforeImageInterceptor(dc.getBeforeCache()))
                    .openSession();
            //return m_sessionFactory.openSession(new BeforeImageInterceptor(dc.getBeforeCache()));
        };
    } else {
        hsm = dc -> m_sessionFactory.openSession();
    }

    //-- If no handlers are registered: register the default ones.
    if (m_handlers.size() == 0) {
        m_handlers.register(JdbcQueryExecutor.FACTORY);
        m_handlers.register(HibernateQueryExecutor.FACTORY);
    }

    m_contextSource = new HibernateLongSessionContextFactory(m_listeners, hsm, m_handlers);
    System.out.println("domui: Hibernate initialization took a whopping "
            + StringTool.strNanoTime(System.nanoTime() - ts));
}

From source file:unic.mentoring.hibernate.util.DbUtil.java

public static SessionFactory getSessionFactory() {
    if (sessionFactory == null) {
        Configuration configuration = new Configuration().configure();
        StandardServiceRegistryBuilder serviceRegistryBuilder = new StandardServiceRegistryBuilder();
        serviceRegistryBuilder.applySettings(configuration.getProperties());
        ServiceRegistry serviceRegistry = serviceRegistryBuilder.build();
        sessionFactory = configuration.buildSessionFactory(serviceRegistry);
    }//from   w  w  w  . j  av a 2 s .c  o m

    return sessionFactory;
}

From source file:vault.queryrouter.common.util.HibernateUtil.java

License:Apache License

private static void init() {

    //Standard hibernate XML
    StandardServiceRegistryBuilder registryBuilder = new StandardServiceRegistryBuilder().configure();

    //Configuration from config file
    registryBuilder.applySetting("hibernate.connection.url", Constant.getBackendDbConnString());
    registryBuilder.applySetting("hibernate.connection.username", Constant.getBackendDbUsername());
    registryBuilder.applySetting("hibernate.connection.password", Constant.getBackendDbPassword());

    StandardServiceRegistry registry = registryBuilder.build();

    try {/*from  ww  w  . j a v a 2  s . c o m*/
        sessionFactory = new MetadataSources(registry).buildMetadata().buildSessionFactory();

    } catch (Throwable ex) {
        StandardServiceRegistryBuilder.destroy(registry);
        logger.error("Fail to init Hibernate", ex);
        throw new RuntimeException(ex);
    }
}

From source file:wersoft.defaultproject.model.dao.IndexHibernate.java

public static synchronized Session openSession() {

    Configuration conf = new Configuration();
    conf.configure();/*from  w  w w .  ja  va  2  s . co  m*/
    //ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(conf.getProperties()).buildServiceRegistry(); 
    StandardServiceRegistryBuilder serviceRegistry = new StandardServiceRegistryBuilder()
            .applySettings(conf.getProperties());
    SessionFactory sessionFactory = conf.buildSessionFactory(serviceRegistry.build());
    Session session = sessionFactory.openSession();

    return session;
}