Wenn ich hibernate konfiguriere, um eine Verbindung zu einer DB herzustellen, und die Verbindung aus irgendeinem Grund fehlschlägt, habe ich bemerkt, dass es keine Ausnahme auslöst, weder beim Aufbau der Fabrik (was akzeptabel ist) noch beim Aufruf von sessionFactory.openSession() (was weniger akzeptabel ist). Was noch ärgerlicher ist, ist dass session.isConnected() true zurückgibt, nachdem ich sessionFactory.openSession() aufgerufen habe. (Was völlig inakzeptabel ist).
Der einzige Hinweis bis zu diesem Moment, der mir sagt, dass es nicht mit der DB verbunden ist, ist ein WARN-Protokolleintrag, der durch eine java.sql.SQLException verursacht wird, die er intern abfängt und einfach an den Logger sendet. Gibt es außer dem Erstellen einer Pseudotransaktion, um eine Ausnahme zu erzwingen, noch eine andere Möglichkeit, den Verbindungsstatus zu ermitteln? (Vielleicht eine Option in der Konfiguration, die besagt, dass der fehlgeschlagene Verbindungsversuch nicht protokolliert wird, sondern eine Hibernate-Ausnahme ausgelöst wird). Ich habe gesucht, aber nichts gefunden. Vielen Dank!