Mysql withTransaction不';无法正确执行回滚
在我的Person controller删除操作中,我希望如果发生DataIntegrityViolationException,那么关联的权限记录将被恢复,但不会恢复。我真的不需要做显式回滚,但是不管有没有它,回滚都不会发生。withTransaction回滚似乎不起作用。还是我做错了什么?我正在使用Grails1.3.7和MySQL(innodb) 更新 我意识到我的一些桌子上没有innodb。我纠正了这一点,起初看起来问题已经解决了。我可以尝试删除用户记录,获取错误,然后作为该用户登录。在此之前,登录失败并出现此错误,这意味着权限记录尚未回滚Mysql withTransaction不';无法正确执行回滚,mysql,grails,transactions,spring-transactions,Mysql,Grails,Transactions,Spring Transactions,在我的Person controller删除操作中,我希望如果发生DataIntegrityViolationException,那么关联的权限记录将被恢复,但不会恢复。我真的不需要做显式回滚,但是不管有没有它,回滚都不会发生。withTransaction回滚似乎不起作用。还是我做错了什么?我正在使用Grails1.3.7和MySQL(innodb) 更新 我意识到我的一些桌子上没有innodb。我纠正了这一点,起初看起来问题已经解决了。我可以尝试删除用户记录,获取错误,然后作为该用户登录。在
ERROR springsecurity.GrailsDaoImpl - User [admin9] has no GrantedAuthority
所以一切看起来都很好。然后我重新启动了我的应用程序,尝试登录,但再次出现错误。因此,即使回滚看起来起作用,记录也不会持久化到数据库中 您是否可以从另一个事务执行此代码?也许,从服务方法来看,默认情况下是事务性的
MySQL不支持嵌套事务。事实证明,并非我的所有表都支持innodb。权威最终变成了ISAM。我不知道这是怎么发生的。
ERROR springsecurity.GrailsDaoImpl - User [admin9] has no GrantedAuthority