모델 변경 사항을 유지할 수있는 여러 컨트롤러 동작간에 "트랜잭션"을 시작할 수 있지만 모든 동작이 완료되지 않으면 저장하지 않는 방법이 있습니까?Play의 컨트롤러 동작 간의 트랜잭션
다음과 같은 사용자 흐름이 있다고 가정 해 보겠습니다. step1 -> step2 -> step3 -> step4 각 단계마다 사용자가 일부 데이터를 채우고 각 단계에 마법사뿐 아니라 모두 취소해야하는 "취소"버튼이 있습니다. 이전 단계에서 변경됩니다.
마지막 단계에서만 데이터베이스에 저장하기 위해 모든 단계에서 채워진 모든 데이터를 다음 단계로 전달하지 않으므로 각 단계에서 하나 이상의 모델 인스턴스를 생성 또는 변경하고 데이터베이스에 저장합니다. '취소'를 클릭하면 이전 단계의 변경 사항을 어떻게 되돌릴 수 있습니까?
이상적으로 우리는 step1에서 "TransactionSupport.startTransaction"을 호출하고 step4에서 "TransactionSupport.endTransaction"을 호출하는 것이 이상적입니다. 그러나 각 단계 요청이 다른 Play 서버로 갈 수 있다는 점을 고려하면 서버간에이 트랜잭션을 어떻게 저장합니까?