33 lines
881 B
Kotlin

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
}