Транзакционная аннотация Grails в l oop не работает при вставке - PullRequest
0 голосов
/ 19 марта 2020

Я использую версию Grails-2.4.5. У меня есть метод, в котором я пытаюсь вставить в базу данных в al oop. У меня есть уникальное поле. При возникновении уникальной ошибки транзакция не откатывает предыдущую вставку. См. Метод ниже:

    @Transactional
def transactionalTest() {
    for (int i=0; i < 5; i++) {
        Student student = new Student()
        student.cellNo = params.cellNo
        student.save()
    }
}

Предположим, что здесь cellNo является уникальным, и дубликат найден во втором индексе. Он показывает мне уникальную ошибку, но 1-й индекс сохраняется в базе данных, а не откатывается. Есть ли способ откатить петли такого типа?

...