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

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

View File

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

View File

@ -3,14 +3,28 @@ package org.sadtech.social.core.domain.content.attachment;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.sadtech.social.core.utils.Description; 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] * @author upagge [08/07/2019]
*/ */
@Entity
@EqualsAndHashCode @EqualsAndHashCode
public abstract class Attachment { public abstract class Attachment {
@Id
@GeneratedValue
private Integer id;
@Column(name = "type")
@Enumerated(value = EnumType.STRING)
@Description("Тип сущности") @Description("Тип сущности")
protected AttachmentType type; protected AttachmentType type;