/
Member.kt
37 lines (29 loc) · 860 Bytes
/
Member.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package com.example.kopring.member.domain
import com.example.kopring.BaseEntity
import java.time.ZonedDateTime
import javax.persistence.*
import javax.validation.constraints.NotBlank
@Table(name = "member")
@Entity
class Member(
name: String,
createdAt: ZonedDateTime = ZonedDateTime.now(),
@Column(name = "id", nullable = false)
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
val id: Long = 0L
) : BaseEntity(createdAt = createdAt) {
@Column(name = "name", nullable = false)
var name = name
protected set
fun changeName(name: String) {
this.name = name
}
data class Request(
@field: NotBlank(message = "이름은 공백으로 이루어져있을 수 없습니다.")
val name: String,
)
data class Response(
val id: Long,
val name: String,
)
}