У меня очень простой сервис, настроенный для создания записи в таблице Postgres, и я использую ее в Bootstrap.groovy для своего веб-приложения Grails 3.Grails 3 bootstrap - сервис не создает запись db
// CompanyService
public Company createCompany(String name) {
Company company = new Company(name: name)
company.save()
return company
}
// BootStrap
def init = {
companyService.createCompany('My Company')
}
Ну, при запуске я не могу видеть My Company
запись, независимо от того, если услуга транзакционный или нет. Вместо этого, если используется одна и та же строка, например, в контроллере, она работает так, как ожидалось. Я что-то упустил?
Что происходит, когда вы используете 'company.save (failOnError: true)'? Вы видите исключение? –
Исключение или другой результат при использовании 'failOnError: true' или' flush: true', извините за то, что вы не указали это первым. – ilPittiz
Я нашел проблему, вызвав новую компанию BootStrap (имя: «Моя компания»). save (failOnError: true) 'вместо' companyService': он был связан с ограничением класса домена, установленным для свойства 'name'. Но я действительно не могу сказать, почему исключение не печатается с использованием службы. – ilPittiz