User.java
package com.domain;
import com.domain.type.PlatformType;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import java.util.List;
@Entity
@Data
public class User {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "user_id")
private Long userNo;
private String userId;
private String userNickname;
private String userEmail;
private Integer userPoint;
private PlatformType platformType;
@ManyToMany(fetch = FetchType.LAZY)
@JoinColumn(name = "ROOM_ID")
private List<Room> rooms;
private String platformAccessToken;
}
Room.java
package com.domain;
import com.domain.type.ContentType;
import lombok.Data;
import javax.persistence.*;
import java.util.Date;
import java.util.List;
@Entity
@Data
public class Room {
@Id
@GeneratedValue
private String roomCode;
private String roomName;
private ContentType roomType;
private Integer roomLimitPersonnel;
private String roomContent;
// TODO: 2022-07-19 유저 엔티티 연결
@ManyToMany(mappedBy = "user")
private List<User> roomUser;
private Date roomStartDate;
private Date roomEndDate;
private Integer roomLimitPoint;
}
PlatformType.java
package com.domain.type;
public enum PlatformType {
DOMAIN, KAKAO
}
ContentType.java
package com.domain.type;
public enum ContentType {
MIRACLE, HOMEWORK, EXERCISE
}