powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Обработка ошибок в Hibernate
3 сообщений из 3, страница 1 из 1
Обработка ошибок в Hibernate
    #33353205
javist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
cfg =  new  Configuration();
cfg.addResource("business/myobject.hbm.xml");
cfg.setProperties(System.getProperties());
sessions = cfg.configure().buildSessionFactory();

Как узнать что не найдены / не считаны конфигурационные файлы или не удалось установить соединение с базой данных?

До использования Hibernate я ловил SQLException/IOException. А в Hibernate как?
...
Рейтинг: 0 / 0
Обработка ошибок в Hibernate
    #33353220
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Обработка ошибок в Hibernate
    #33353418
М.Голованов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вижу, что при отсутствии или кривости файла конфигурации или файлов маппинга просто не создается объект SessionFactory. При кривости файла конфигурации имеем исключение "problem parsing configuration", при отсутствии декларированного файла маппинга - "Resource: com/ops/smanager/hibernate/MissingMapping.hbm.xml not found". Так что пишете

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 try {
  cfg =  new  Configuration();
  cfg.addResource("business/myobject.hbm.xml");
  cfg.setProperties(System.getProperties());
  sessions = cfg.configure().buildSessionFactory();
}  catch ( Throwable t ){
  // и здесь обрабатываете тот факт, что приложение не стартовало.
} 

Что касается невозможности соединения с БД, то у меня (я использую C3P0) попытки установления соединения продолжаются до посинения, при этом выполнение приложения не продолжается (исполнение сидит в методе buildSessionFactory()), а в логе вижу трассу

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
java.sql.SQLException: Server connection failure during transaction. Due to underlying exception: 'java.net.ConnectException: Connection refused: connect'.
Attempted reconnect  3  times. Giving up.
        at com.mysql.jdbc.Connection.createNewIO(Unknown Source)
        at com.mysql.jdbc.Connection.<init>(Unknown Source)
        at com.mysql.jdbc.NonRegisteringDriver.connect(Unknown Source)
        at java.sql.DriverManager.getConnection(DriverManager.java: 525 )
        at java.sql.DriverManager.getConnection(DriverManager.java: 140 )
        at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java: 66 )
        at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java
 76 )
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$ 1 .acquireResource(C3P0PooledConnectionPool.java: 66 )
        at com.mchange.v2.resourcepool.BasicResourcePool.assimilateResource(BasicResourcePool.java: 787 )
        at com.mchange.v2.resourcepool.BasicResourcePool.acquireUntil(BasicResourcePool.java: 548 )
        at com.mchange.v2.resourcepool.BasicResourcePool.access$ 000 (BasicResourcePool.java: 35 )
        at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java: 972 )
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java: 148 )

Этого достаточно, чтобы понять, что что-то не так.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Обработка ошибок в Hibernate
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]