Разметка сущностей

This commit is contained in:
Mark Struchkov 2019-07-27 08:17:41 +03:00
parent e771e1ff34
commit 7f36ec2d7e
4 changed files with 29 additions and 1 deletions

View File

@ -7,6 +7,8 @@ package org.sadtech.social.core.domain.content;
*/
public enum ContentType {
MAIL, BOARD_COMMENT, EMPTY
MAIL,
BOARD_COMMENT,
EMPTY
}

View File

@ -5,7 +5,9 @@ import lombok.EqualsAndHashCode;
import org.sadtech.social.core.domain.content.attachment.Attachment;
import org.sadtech.social.core.utils.Description;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import java.util.List;
@ -20,6 +22,8 @@ import java.util.List;
@EqualsAndHashCode(callSuper = true)
public class Mail extends Message {
@OneToMany
@Column(name = "attachment")
@Description("Вложения к сообщению")
private List<Attachment> attachments;

View File

@ -4,7 +4,10 @@ import com.sun.istack.internal.NotNull;
import lombok.Data;
import org.sadtech.social.core.utils.Description;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.time.LocalDateTime;
@ -23,17 +26,22 @@ public abstract class Message {
@Description("Идентификатор сообщения")
private Integer id;
@Column(name = "type")
@Enumerated(value = EnumType.STRING)
@Description("Тип сообщения")
protected ContentType type;
@NotNull
@Column(name = "create_date")
@Description("Дата создания")
private LocalDateTime createDate;
@NotNull
@Column(name = "person_id")
@Description("Идентификатор пользователя, отправившего сообщение")
private Integer personId;
@Column(name = "text")
@Description("Текстовое сообщение")
private String text;

View File

@ -3,14 +3,28 @@ package org.sadtech.social.core.domain.content.attachment;
import lombok.EqualsAndHashCode;
import org.sadtech.social.core.utils.Description;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
/**
* Абстрактная сущность, для всех вложений к сообщениям от пользователей.
*
* @author upagge [08/07/2019]
*/
@Entity
@EqualsAndHashCode
public abstract class Attachment {
@Id
@GeneratedValue
private Integer id;
@Column(name = "type")
@Enumerated(value = EnumType.STRING)
@Description("Тип сущности")
protected AttachmentType type;