메뉴 API
This commit is contained in:
32
src/main/kotlin/kr/co/vividnext/sodalive/menu/Menu.kt
Normal file
32
src/main/kotlin/kr/co/vividnext/sodalive/menu/Menu.kt
Normal file
@@ -0,0 +1,32 @@
|
||||
package kr.co.vividnext.sodalive.menu
|
||||
|
||||
import kr.co.vividnext.sodalive.common.BaseEntity
|
||||
import kr.co.vividnext.sodalive.member.MemberRole
|
||||
import javax.persistence.CascadeType
|
||||
import javax.persistence.Column
|
||||
import javax.persistence.Entity
|
||||
import javax.persistence.EnumType
|
||||
import javax.persistence.Enumerated
|
||||
import javax.persistence.FetchType
|
||||
import javax.persistence.JoinColumn
|
||||
import javax.persistence.ManyToOne
|
||||
import javax.persistence.OneToMany
|
||||
|
||||
@Entity
|
||||
data class Menu(
|
||||
@Column(nullable = false)
|
||||
val title: String,
|
||||
@Column(nullable = false)
|
||||
val route: String,
|
||||
@Enumerated(value = EnumType.STRING)
|
||||
val roles: MemberRole,
|
||||
val orders: Int,
|
||||
val isActive: Boolean
|
||||
) : BaseEntity() {
|
||||
@ManyToOne(fetch = FetchType.LAZY, cascade = [CascadeType.ALL])
|
||||
@JoinColumn(name = "parent_id", nullable = true)
|
||||
var parent: Menu? = null
|
||||
|
||||
@OneToMany(mappedBy = "parent", fetch = FetchType.EAGER)
|
||||
var children: MutableList<Menu> = mutableListOf()
|
||||
}
|
Reference in New Issue
Block a user