diff --git a/src/main/java/run/halo/app/model/entity/BaseMeta.java b/src/main/java/run/halo/app/model/entity/BaseMeta.java new file mode 100644 index 000000000..b36632f71 --- /dev/null +++ b/src/main/java/run/halo/app/model/entity/BaseMeta.java @@ -0,0 +1,46 @@ +package run.halo.app.model.entity; + + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.persistence.*; + +/** + * Base meta entity. + * + * @author ryanwang + * @author ikaisec + * @date 2019-08-04 + */ +@Data +@Entity(name = "BaseMeta") +@Table(name = "metas") +@DiscriminatorColumn(name = "type", discriminatorType = DiscriminatorType.INTEGER, columnDefinition = "int default 0") +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class BaseMeta extends BaseEntity { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + /** + * Post id. + */ + @Column(name = "post_id", columnDefinition = "int not null") + private Integer postId; + + /** + * meta key + */ + @Column(name = "meta_key", columnDefinition = "varchar(100) not null") + private String key; + + /** + * meta value + */ + @Column(name = "meta_value", columnDefinition = "varchar(1023) not null") + private String value; +} diff --git a/src/main/java/run/halo/app/model/entity/PostMeta.java b/src/main/java/run/halo/app/model/entity/PostMeta.java new file mode 100644 index 000000000..de0ba59c6 --- /dev/null +++ b/src/main/java/run/halo/app/model/entity/PostMeta.java @@ -0,0 +1,16 @@ +package run.halo.app.model.entity; + +import javax.persistence.DiscriminatorValue; +import javax.persistence.Entity; + +/** + * PostMeta entity. + * + * @author ryanwang + * @author ikaisec + * @date 2019-08-04 + */ +@Entity(name = "PostMeta") +@DiscriminatorValue("0") +public class PostMeta extends BaseMeta { +} diff --git a/src/main/java/run/halo/app/model/entity/SheetMeta.java b/src/main/java/run/halo/app/model/entity/SheetMeta.java new file mode 100644 index 000000000..b73bfefab --- /dev/null +++ b/src/main/java/run/halo/app/model/entity/SheetMeta.java @@ -0,0 +1,16 @@ +package run.halo.app.model.entity; + +import javax.persistence.DiscriminatorValue; +import javax.persistence.Entity; + +/** + * SheetMeta entity. + * + * @author ryanwang + * @author ikaisec + * @date 2019-08-04 + */ +@Entity(name = "SheetMeta") +@DiscriminatorValue("0") +public class SheetMeta extends BaseMeta { +}