Когда возникает org.hibernate.JDBCException (или подтип этого исключения), оператор sql не отображается в Stacktrace.
Например, если я выполняю следующий оператор SQL с помощью hibernate (в OracleБД, у которой нет таблицы или представления «nonexsiting»):
session.createSQLQuery("select * from nonexisting").list();
я получаю следующую трассировку стека:
org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)
...
Caused by: java.sql.SQLSyntaxErrorException: ORA-00942: Table or view does not exist
...
Оператор SQL не отображается в трассировке стека, однакоОбъект исключения хранит информацию и может быть доступен по exception.getSQL()
.Было бы чрезвычайно ускорить отладку, если бы эта информация была также доступна в трассировке стека.
У кого-нибудь есть идея, почему эта информация недоступна в трассировке стека?Или как включить вывод этой информации в стековую трассировку?
Кстати, версия гибернации, которую я использовал для этого примера, - 3.3.1