
org.hibernate.transientpropertyvalueexception: object references an unsaved transient instance - save the transient instance before flushing : com.service.zerobnb.web.payment.domain.payment.reservation -> com.service.zerobnb.web.reservation.domain.reservation; nested exception is java.lang.illegalstateexception: org.hibernate.transientpropertyvalueexception: object references an unsaved transient instance - save the transient instance before flushing
Payment payment = Payment.from(form, room);
Reservation reservation = Reservation.from(form, guest, room, payment);
payment.setReservation(reservation);
paymentRepository.save(payment); // payment 저장
reservationRepository.save(reservation); // reservation 저장
Reservation 객체와 Payment 객체에 Cascade.ALL 을 추가하여 해결.
부모 객체인 Reservation 이 저장될 때 자식 객체인 Payment 도 함께 저장될 수 있도록 함.
Reservation 객체

Payment 객체

Payment payment = Payment.from(form, room);
Reservation reservation = Reservation.from(form, guest, room, payment);
payment.setReservation(reservation);
reservationRepository.save(reservation); // reservation 저장