refactor: 모든 엔티티에 BaseEntity 및 TSID 적용

This commit is contained in:
이상진 2025-08-02 15:53:25 +09:00
parent 769576a8d5
commit 8a126344f0
6 changed files with 79 additions and 29 deletions

View File

@ -1,20 +1,30 @@
package roomescape.member.infrastructure.persistence
import jakarta.persistence.*
import roomescape.common.entity.BaseEntity
@Entity
@Table(name = "members")
class MemberEntity(
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
var id: Long? = null,
@Column(name = "member_id")
private var _id: Long?,
@Column(name = "name", nullable = false)
var name: String,
@Column(name = "email", nullable = false)
var email: String,
@Column(name = "password", nullable = false)
var password: String,
@Column(name = "role", nullable = false, length = 20)
@Enumerated(value = EnumType.STRING)
var role: Role
) {
): BaseEntity() {
override fun getId(): Long? = _id
fun isAdmin(): Boolean = role == Role.ADMIN
}

View File

@ -1,18 +1,33 @@
package roomescape.payment.infrastructure.persistence
import jakarta.persistence.*
import jakarta.persistence.Column
import jakarta.persistence.Entity
import jakarta.persistence.Id
import jakarta.persistence.Table
import roomescape.common.entity.BaseEntity
import java.time.OffsetDateTime
@Entity
@Table(name = "canceled_payments")
class CanceledPaymentEntity(
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
var id: Long? = null,
@Column(name = "canceled_payment_id")
private var _id: Long?,
@Column(name = "payment_key", nullable = false)
var paymentKey: String,
@Column(name = "cancel_reason", nullable = false)
var cancelReason: String,
@Column(name = "cancel_amount", nullable = false)
var cancelAmount: Long,
@Column(name = "approved_at", nullable = false)
var approvedAt: OffsetDateTime,
@Column(name = "canceled_at", nullable = false)
var canceledAt: OffsetDateTime,
)
): BaseEntity() {
override fun getId(): Long? = _id
}

View File

@ -1,6 +1,7 @@
package roomescape.payment.infrastructure.persistence
import jakarta.persistence.*
import roomescape.common.entity.BaseEntity
import roomescape.reservation.infrastructure.persistence.ReservationEntity
import java.time.OffsetDateTime
@ -8,22 +9,24 @@ import java.time.OffsetDateTime
@Table(name = "payments")
class PaymentEntity(
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
var id: Long? = null,
@Column(name = "payment_id")
private var _id: Long?,
@Column(nullable = false)
@Column(name = "order_id", nullable = false)
var orderId: String,
@Column(nullable = false)
@Column(name="payment_key", nullable = false)
var paymentKey: String,
@Column(nullable = false)
@Column(name="total_amount", nullable = false)
var totalAmount: Long,
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "reservation_id", nullable = false)
var reservation: ReservationEntity,
@Column(nullable = false)
@Column(name="approved_at", nullable = false)
var approvedAt: OffsetDateTime
)
): BaseEntity() {
override fun getId(): Long? = _id
}

View File

@ -2,6 +2,7 @@ package roomescape.reservation.infrastructure.persistence
import com.fasterxml.jackson.annotation.JsonIgnore
import jakarta.persistence.*
import roomescape.common.entity.BaseEntity
import roomescape.member.infrastructure.persistence.MemberEntity
import roomescape.theme.infrastructure.persistence.ThemeEntity
import roomescape.time.infrastructure.persistence.TimeEntity
@ -11,8 +12,8 @@ import java.time.LocalDate
@Table(name = "reservations")
class ReservationEntity(
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
var id: Long? = null,
@Column(name = "reservation_id")
private var _id: Long?,
@Column(name = "date", nullable = false)
var date: LocalDate,
@ -30,9 +31,11 @@ class ReservationEntity(
var member: MemberEntity,
@Enumerated(value = EnumType.STRING)
@Column(name = "status", nullable = false)
var status: ReservationStatus
) {
@Column(name = "status", nullable = false, length = 30)
var status: ReservationStatus,
): BaseEntity() {
override fun getId(): Long? = _id
@JsonIgnore
fun isWaiting(): Boolean = status == ReservationStatus.WAITING

View File

@ -1,15 +1,26 @@
package roomescape.theme.infrastructure.persistence
import jakarta.persistence.*
import jakarta.persistence.Column
import jakarta.persistence.Entity
import jakarta.persistence.Id
import jakarta.persistence.Table
import roomescape.common.entity.BaseEntity
@Entity
@Table(name = "themes")
class ThemeEntity(
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
var id: Long? = null,
@Column(name = "theme_id")
private var _id: Long?,
@Column(name = "name", nullable = false)
var name: String,
@Column(name = "description", nullable = false)
var description: String,
var thumbnail: String
)
@Column(name = "thumbnail", nullable = false)
var thumbnail: String,
): BaseEntity() {
override fun getId(): Long? = _id
}

View File

@ -1,13 +1,21 @@
package roomescape.time.infrastructure.persistence
import jakarta.persistence.*
import jakarta.persistence.Column
import jakarta.persistence.Entity
import jakarta.persistence.Id
import jakarta.persistence.Table
import roomescape.common.entity.BaseEntity
import java.time.LocalTime
@Entity
@Table(name = "times")
class TimeEntity(
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
var id: Long? = null,
var startAt: LocalTime
)
@Column(name = "time_id")
private var _id: Long?,
@Column(name = "start_at", nullable = false)
var startAt: LocalTime,
): BaseEntity() {
override fun getId(): Long? = _id
}