AddTotag () [Grails]에서 오류를 잡는 방법
문제
2 개의 도메인이 있습니다. 마스터 및 세부 사항.
Master{
String masterName;
static hasMany=[details:Detail]
}
Detail
{
String detailName ;
static belongsTo =[master:Master];
}
저장을 처리하는 형태가 있습니다
def save = {
.....
def master = new Master(params);
params.detailsName.eachWithIndex(dtName, index ->
def detail = new Detail();
detail.detailName = dtName;
....
master.addToDetails(detail);
}
.....
master.save(flush:true);
}
Mas 자세한 내용에 오류가 있으면 마스터를 취소하는 방법을 알고 싶습니다. 세부 사항에서 오류를 추적하는 방법을 알고 싶습니다.
감사해요
해결책
거래는 필요한 것입니다. 서비스 저장을 수행 할 수 있습니다. 트랜잭션 = true가있는 서비스에서 모든 방법은 트랜잭션에 래핑되며 예외가 발생하면 자동화 된 롤백이 있습니다.
class MasterService {
boolean transactional = true
def save(...) { }
}
또는 사용할 수 있습니다 트랜잭션으로 서비스를 작성하지 않으려면 컨트롤러의 폐쇄로 트랜잭션에서 코드를 랩핑하십시오.
제휴하지 않습니다 StackOverflow