Open wjrmffldrhrl opened 4 years ago
이전 프로젝트에서 사용한 다대다 구조입니다.
https://github.com/kyu9341/TeamHash/tree/master/src/main/java/kr/co/teamhash/domain/entity
import lombok.*; import lombok.extern.slf4j.Slf4j; import javax.persistence.*; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; @Slf4j @Entity @Getter @Setter @EqualsAndHashCode(of = "id") @Builder @AllArgsConstructor @NoArgsConstructor public class Project { @Id @GeneratedValue private Long id; private String title; private String subtitle; private String builderNick; //프로젝트를 생성한 유저의 id를 넣을 것 private Long builder; private Integer progress = 0; @Lob @Basic(fetch = FetchType.EAGER) private String description; @OneToMany(mappedBy = "project") private List<ProjectMember> members = new ArrayList<>(); // @OneToMany(mappedBy = "project", targetEntity=Schedule.class) @OneToMany(mappedBy = "project") private List<Schedule> schedules = new ArrayList<>(); private LocalDateTime buildDate; }
import lombok.*; import javax.persistence.*; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.UUID; @Entity @Getter @Setter @EqualsAndHashCode(of = "id") @Builder @AllArgsConstructor @NoArgsConstructor public class Account { @Id @GeneratedValue private Long id; @Column(unique = true) private String email; @Column(unique = true) private String nickname; private String password; private String school; private boolean emailVerified; private String emailCheckToken; private LocalDateTime joinedAt; private String introduction; private String location; @Lob @Basic(fetch = FetchType.EAGER) private String profileImage; private LocalDateTime emailCheckTokenGeneratedAt; @OneToMany(mappedBy = "account") private List<ProjectMember> projects = new ArrayList<>(); @OneToMany(mappedBy = "account") private List<Notification> notifications = new ArrayList<>(); }
협업 플랫폼에서의 사용자와 프로젝트입니다.
이전 프로젝트에서 사용한 다대다 구조입니다.
https://github.com/kyu9341/TeamHash/tree/master/src/main/java/kr/co/teamhash/domain/entity
Project.java
Account.java
협업 플랫폼에서의 사용자와 프로젝트입니다.