Как определить Hibernate, чтобы вернуть ошибку SQL

1

Я пытаюсь понять, как можно получить сообщение об ошибке sql из базы данных во время неудачного запроса через спящий режим.

В моей базе данных есть таблица:

 TABLE applications
 (
   id serial NOT NULL,
   name character varying(80) NOT NULL,
   CONSTRAINT applications_pkey PRIMARY KEY (id),
   CONSTRAINT applications_name_key UNIQUE (name)
 )

Я пытаюсь дважды вставить в эту строку таблицы с тем же значением имени ячейки. Firs запрос уже сделан, когда второй запрос, я получаю только сообщение из исключенного catch:

 could not execute statement

это слишком мало, что должно помочь мне найти то, что не так? Я хочу получить информацию из базы данных что-то вроде

SQL Error. Duplicate column 'name' values

Hibernate с HibernateException просто покрывает ошибку истинной причины. Кто-нибудь знает, как избежать подобной ситуации?

  • 0
    опубликовать полную трассировку стека ошибок, она должна сказать вам, в чем заключается основная проблема
  • 0
    нет информации в стековой трассировке
Теги:
hibernate

1 ответ

2
Лучший ответ

Сначала вы shuold getCause Hibernate Exception, чем вы можете получить статус ошибки sql:

 catch (HibernateException ex) {

        Throwable cause = ex.getCause();
        if (cause instanceof SQLException) {
            System.out.println(cause.getMessage());
        }
 }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню