package com.openisle.model; import jakarta.persistence.*; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import java.util.HashSet; import java.util.Set; @Entity @Getter @Setter @NoArgsConstructor @Table(name = "drafts", uniqueConstraints = { @UniqueConstraint(columnNames = {"author_id"}) }) public class Draft { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String title; @Column(columnDefinition = "LONGTEXT") private String content; @ManyToOne(fetch = FetchType.LAZY, optional = false) @JoinColumn(name = "author_id") private User author; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "category_id") private Category category; @ManyToMany(fetch = FetchType.LAZY) @JoinTable(name = "draft_tags", joinColumns = @JoinColumn(name = "draft_id"), inverseJoinColumns = @JoinColumn(name = "tag_id")) private Set tags = new HashSet<>(); }