Java 객체 복사 Cloneable interface 카드 결제 내역을 기록으로 테이블에 남기던 중, 찾아서 적용한 방식입니다. 이전에 성공 처리된 결제 내역에 대해서 취소 요청한 경우, 기존의 거래 기록 row는 그대로 두고, 다른 데이터는 같지만 state가 취소 요청인 새로운 row를 생성하여 저장해야 하는 상황에서 Cloneable interface를 적용하여 사용하였습니다. @Builder @Getter @Setter @NoArgsConstructor @Entity public class PaymentTransaction extends BaseEntity implements Cloneable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY)..