Я хочу реализовать пул соединений с помощью Hibernate. Это мой файл конфигурации:

<hibernate-configuration>
    <session-factory>
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.format_sql">true</property>
        <property name="jndi.url">jdbc/sqliteDB</property>
        <property name="hibernate.dialect">org.hibernate.dialect.SQLiteDialect</property>
        <property name="hibernate.connection.driver_class">org.sqlite.JDBC</property>
        <property name="hibernate.connection.release_mode">auto</property>
        <property name="current_session_context_class">thread</property>
        <property name="hibernate.connection.autoReconnect">true</property>
        <property name="hibernate.hbm2ddl.auto">update</property>
        <mapping class="com.web.models.SystemUsers"/>
    </session-factory>
</hibernate-configuration>

Я попытался реализовать этот фабричный класс:

public class HibernateUtil
{
    private static final SessionFactory sessionFactory;
    private static ServiceRegistry serviceRegistry;

    static
    {
        try
        {
            StandardServiceRegistry standardRegistry
                = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build();
            Metadata metaData
                = new MetadataSources(standardRegistry).getMetadataBuilder().build();
            sessionFactory = metaData.getSessionFactoryBuilder().build();
        }
        catch (Throwable th)
        {
            System.err.println("Enitial SessionFactory creation failed" + th);
            throw new ExceptionInInitializerError(th);
        }
    }

    public static SessionFactory getSessionFactory()
    {
        return sessionFactory;
    }
}

Когда я запускаю 2 запроса, я получаю сообщение об ошибке, фабрика закрыта. Возможно, мой код не реализован должным образом?

0
Peter Penzov 2 Июл 2017 в 15:38
Опубликуйте, пожалуйста, стековый транс и код, который вызывает доступ к базе данных.
 – 
Justinas Jakavonis
2 Июл 2017 в 17:05

1 ответ

Лучший ответ

Вы не настроили подключение к источнику данных. Вместо того:

jdbc / sqliteDB

Должно быть :

java: comp / env / jdbc / sqliteDB

1
xyz 2 Июл 2017 в 16:50
Если это решит вашу проблему, пожалуйста, закройте и укажите второй вопрос как дубликат для этого.
 – 
xyz
2 Июл 2017 в 18:41