package roomescape.payment.infrastructure.persistence import jakarta.persistence.* import roomescape.common.entity.BaseEntity import roomescape.reservation.infrastructure.persistence.ReservationEntity import java.time.OffsetDateTime @Entity @Table(name = "payments") class PaymentEntity( @Id @Column(name = "payment_id") private var _id: Long?, @Column(name = "order_id", nullable = false) var orderId: String, @Column(name = "payment_key", nullable = false) var paymentKey: String, @Column(name = "total_amount", nullable = false) var totalAmount: Long, @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "reservation_id", nullable = false) var reservation: ReservationEntity, @Column(name = "approved_at", nullable = false) var approvedAt: OffsetDateTime ) : BaseEntity() { override fun getId(): Long? = _id }