package kr.co.vividnext.sodalive.message import kr.co.vividnext.sodalive.common.BaseEntity import kr.co.vividnext.sodalive.member.Member 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 @Entity data class Message( @Column(columnDefinition = "TEXT") val textMessage: String? = null, var voiceMessage: String? = null, @Enumerated(EnumType.STRING) val messageType: MessageType = MessageType.TEXT, var isRecipientKeep: Boolean = false, var isSenderDelete: Boolean = false, var isRecipientDelete: Boolean = false ) : BaseEntity() { @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "sender_id", nullable = false) var sender: Member? = null @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "recipient_id", nullable = false) var recipient: Member? = null } enum class MessageType { TEXT, VOICE }