在我的Grails Web应用程序中,我在控制器(即UserController)中使用withNewSession来覆盖来自许多服务(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
}
}
你有过这个错误吗?以及如何解决它?非常感谢你!