JPA определить пользовательское сообщение об ошибке в нескольких столбцах уникальное нарушение ограниченийJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 JPA определить пользовательское сообщение об ошибке в нескольких столбцах уникальное нарушение ограничений

Сообщение Anonymous »

У меня объект JPA, которая имеет уникальное ограничение, основанное на нескольких столбцах, я пытаюсь обрабатывать и генерировать сообщение об ошибке человека, но каким -то образом Spring/Hibernate крадет исключение у меня

Код: Выделить всё

@Entity
@Table(name = "columns", uniqueConstraints = {@UniqueConstraint(columnNames = {"position", "board_id"}, name = UNIQUE_COLUMN_BOARD_POSITION)})
public class Column {
//some stuff
}
< /code>
Тогда у меня есть сервисный класс < /p>
   @Transactional
@NonNull
public Column update(long columnId, @NonNull Column transientColumn) {

Column persistentColumn = get(columnId);
persistentColumn.setTitle(transientColumn.getTitle());
persistentColumn.setPosition(transientColumn.getPosition());

try {
return columnRepository.save(persistentColumn);
} catch (Exception e) {
System.out.println(e); //NEVER REACHES HERE
}

return transientColumn;
}
Я пишу свои тестовые оценки, поэтому я автоматически разбираюсь с классом услуг, я намерен обновить столбец, чтобы сломать уникальный приговор, Hibernate останавливает обновление, выбросить гигантское исключение ... но не позволю мне запечатлеть исключение
Я откладывал линию, но и код, потом, не запускается, но код. IT и тестовая заканчивается < /p>
Вот тестовый класс < /p>

Код: Выделить всё

 @Test
void testFailUpdateDueRepeatedPosition() {

Column column = new Column(persistentBoard, "column", 1);
Column column2 = new Column(persistentBoard, "column", 2);

column = columnRepository.save(column);
column2 = columnRepository.save(column2);

column2.setPosition(1);
columnService.update(column2.getId(), column2);

columnRepository.delete(column);
}
мне все равно, если я не могу поймать это исключение, все, что я хочу, - это получить пользовательское сообщение, которое я могу установить на случай, если это произойдет


Подробнее здесь: https://stackoverflow.com/questions/728 ... -violation
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»