В моем веб-приложении Grails я использовал withNewSession в контроллере (например, UserController), чтобы покрыть некоторые исполнения из многих сервисов (UserService и других).Но я получил исключение org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is java.lang.IllegalArgumentException: No Connection specified
, когда вызвал метод из другой службы, а не из UserService.
Вот мой пример:
UserService.groovy:
void doA(){
// Some operations
}
void doB(){
// Some operations
}
UserController.groovy:
def userService
def otherService
void doSomeProcesses() {
User.withNewSession{ org.hibernate.Session session ->
// Blah blah
userService.doA() // OK
// Blah blah
userService.doB() // OK
// Blah blah
otherService.doOtherStuff() // Exception was thrown here
}
}
Вы когда-нибудь получали эту ошибку?И как это исправить?Большое вам спасибо!