JOOQ: вызов getNextException?

Я использую методы batch* JOOQ. Я также пробовал с методами batchUpdate, batchInsert.

Batch batch = create.batchStore(questions);
int[] counts = batch.execute();

Где вопросы - это список класса Generated TableRecords. Я получаю успех при попытке вставить данные. Но я получаю сообщение об ошибке при попытке обновить данные. Мой запрос -

  • Как получить ошибку JDBC, так как я получаю это исключение.

    org.jooq.exception.DataAccessException: SQL [Пакетная запись 0 вставить в ... оставшийся запрос ...] была прервана. Вызовите getNextException, чтобы узнать причину.

    Я не вижу метод getNextException в JOOQ DataAccessException. Я не могу поймать ни BatchUpdateException, ни SqlException, чтобы получить дополнительные сведения об исключении.


person theGamblerRises    schedule 25.08.2016    source источник


Ответы (1)


jOOQ DataAccessException — это непроверенная оболочка для JDBC SQLException. Если вы хотите получить их, вы можете получить доступ к SQLException как таковой:

((SQLException) dataAccessException.getCause()).getNextException();
person Lukas Eder    schedule 25.08.2016
comment
Привет Лукас, спасибо за это. У меня вопрос связующий. Вот вставил изменения и получил ответ. Но есть ли способ, которым я могу видеть эти вещи. Я имею в виду покрытие для всех ошибок. Иногда бывает сложно перенести изменения на сервер и посмотреть. Еще раз спасибо за JOOQ. :-) - person theGamblerRises; 25.08.2016
comment
@theGamblerRises: Не могли бы вы задать полный вопрос здесь, в Stack Overflow? Я еще не уверен, если я понимаю... - person Lukas Eder; 25.08.2016