関数レベルでトランザクション制御を実装したい。私が欲しいのは、このようなものです。
クラス MyService{
静的トランザクション = false
@Transactional(readOnly = false、伝播 = Propagation.REQUIRES_NEW)
public def saveCountry(){ Country co = new Country(name:'mycountry') co.save() createState()
}
@Transactional(readOnly = false、伝播 = Propagation.REQUIRES_NEW)
public def createState(){ State state = new State(name:'state') state.save() throw new RuntimeException() } }
私が望むのは、createState() が saveCountry() とは無関係に新しいトランザクションを作成し、createState() が失敗した場合、
すでに保存されている国オブジェクトは取り消されません。注釈を付けましたが、望ましい効果が得られません。ここで単一のトランザクションが作成され、例外がスローされると取り消されます。オブジェクトは何も保存されません。
誰でも助けてくれますか