我一直在使用Grail的回滚功能,将所有服务更新为事务性服务,当服务抛出RuntimeException时会自动回滚。在大多数情况下,我都是这样做的:
def domain = new Domain(field: field)
if (!domain.save()) {
throw new RuntimeException()
}
无论如何,我想验证这确实会回滚事务......这让我想到,此时事务是否已经提交。另外,如果没有提交,设置flush:true会改变吗?我不太熟悉Spring/Hibernate如何处理所有这些:)