Я следую учебному пособию по Grails Spring Security Core в их документации . Когда я достигаю 24.1.5.5, начинаются проблемы. Я получил указание изменить Bootstrap. groovy на следующее, а затем запустить приложение:
package com.mycompany.myapp
class BootStrap {
def init = {
def adminRole = new Role(authority: 'ROLE_ADMIN').save()
def testUser = new User(username: 'me', password: 'password').save()
UserRole.create testUser, adminRole
UserRole.withSession {
it.flush()
it.clear()
}
assert User.count() == 1
assert Role.count() == 1
assert UserRole.count() == 1
}
}
При запуске приложения выдается следующая ошибка:
2020- 03-31 15: 46: 19.294 ОШИБКА --- [restartedMain] osboot.SpringApplication: сбой запуска приложения
javax.persistence.TransactionRequiredException: транзакция не выполняется в org.hibernate.internal.SessionImpl.checkTransactionNeeded ( SessionImpl. java: 3586)
Я пытался использовать @Transactional для решения этой проблемы, но это не повлияло на ошибку. Возвращение Bootstrap. groovy к значениям по умолчанию позволяет приложению нормально работать. Чего не хватает (или неправильно) в этом руководстве, что приводит к сбою?