Skip to content

Commit c14e475

Browse files
committed
init: 도메인 초기 세팅
1 parent 601df18 commit c14e475

File tree

13 files changed

+276
-0
lines changed

13 files changed

+276
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.oronaminc.join.answer.domain;
2+
3+
import com.oronaminc.join.global.entity.BaseEntity;
4+
import com.oronaminc.join.member.domain.Member;
5+
import com.oronaminc.join.question.domain.Question;
6+
import jakarta.persistence.*;
7+
import lombok.AccessLevel;
8+
import lombok.Getter;
9+
import lombok.NoArgsConstructor;
10+
11+
12+
@Entity
13+
@Getter
14+
@NoArgsConstructor(access = AccessLevel.PROTECTED)
15+
public class Answer extends BaseEntity {
16+
17+
@Id
18+
@GeneratedValue(strategy = GenerationType.IDENTITY)
19+
private Long id;
20+
21+
@ManyToOne
22+
@JoinColumn(name = "question_id")
23+
private Question question;
24+
25+
@ManyToOne
26+
@JoinColumn(name = "member_id")
27+
private Member member;
28+
29+
private String content;
30+
private Long emojiCount;
31+
32+
@Version
33+
private Integer version;
34+
35+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.oronaminc.join.document.domain;
2+
3+
import com.oronaminc.join.room.domain.Room;
4+
import jakarta.persistence.*;
5+
import lombok.AccessLevel;
6+
import lombok.Getter;
7+
import lombok.NoArgsConstructor;
8+
9+
@Entity
10+
@Getter
11+
@NoArgsConstructor(access = AccessLevel.PROTECTED)
12+
public class Document {
13+
14+
@Id
15+
@GeneratedValue(strategy = GenerationType.IDENTITY)
16+
private Long id;
17+
18+
@OneToOne
19+
@JoinColumn(name = "room_id")
20+
private Room room;
21+
22+
private String fileUrl;
23+
private String fileName;
24+
private Long fileSize;
25+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package com.oronaminc.join.emoji.domain;
2+
3+
import com.oronaminc.join.global.entity.BaseEntity;
4+
import com.oronaminc.join.member.domain.Member;
5+
import jakarta.persistence.*;
6+
import lombok.AccessLevel;
7+
import lombok.Getter;
8+
import lombok.NoArgsConstructor;
9+
10+
11+
@Entity
12+
@Getter
13+
@NoArgsConstructor(access = AccessLevel.PROTECTED)
14+
public class Emoji extends BaseEntity {
15+
16+
@Id
17+
@GeneratedValue(strategy = GenerationType.IDENTITY)
18+
private Long id;
19+
20+
@ManyToOne
21+
@JoinColumn(name = "member_id")
22+
private Member member;
23+
24+
@Enumerated(EnumType.STRING)
25+
private TargetType targetType;
26+
27+
private Long targetId;
28+
29+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.oronaminc.join.emoji.domain;
2+
3+
public enum TargetType {
4+
QUESTION,ANSWER, ROOM
5+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.oronaminc.join.global.entity;
2+
3+
import jakarta.persistence.Column;
4+
import jakarta.persistence.EntityListeners;
5+
import jakarta.persistence.MappedSuperclass;
6+
import lombok.Getter;
7+
import org.springframework.data.annotation.CreatedDate;
8+
import org.springframework.data.annotation.LastModifiedDate;
9+
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
10+
11+
import java.time.LocalDateTime;
12+
13+
@Getter
14+
@MappedSuperclass
15+
@EntityListeners(AuditingEntityListener.class)
16+
public abstract class BaseEntity {
17+
18+
@CreatedDate
19+
@Column(updatable = false)
20+
private LocalDateTime createdAt;
21+
22+
@LastModifiedDate
23+
private LocalDateTime updatedAt;
24+
25+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.oronaminc.join.member.domain;
2+
3+
import com.oronaminc.join.global.entity.BaseEntity;
4+
import jakarta.persistence.*;
5+
import lombok.AccessLevel;
6+
import lombok.Getter;
7+
import lombok.NoArgsConstructor;
8+
9+
10+
@Entity
11+
@Getter
12+
@NoArgsConstructor(access = AccessLevel.PROTECTED)
13+
public class Member extends BaseEntity {
14+
15+
@Id
16+
@GeneratedValue(strategy = GenerationType.IDENTITY)
17+
private Long id;
18+
19+
private String email;
20+
private String nickname;
21+
private String profileImage;
22+
23+
@Enumerated(EnumType.STRING)
24+
private MemberType memberType;
25+
26+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.oronaminc.join.member.domain;
2+
3+
public enum MemberType {
4+
MEMBER, GUEST
5+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.oronaminc.join.participant.domain;
2+
3+
4+
import com.oronaminc.join.global.entity.BaseEntity;
5+
import com.oronaminc.join.member.domain.Member;
6+
import com.oronaminc.join.room.domain.Room;
7+
import jakarta.persistence.*;
8+
import lombok.AccessLevel;
9+
import lombok.Getter;
10+
import lombok.NoArgsConstructor;
11+
12+
import java.time.LocalDateTime;
13+
14+
@Entity
15+
@Getter
16+
@NoArgsConstructor(access = AccessLevel.PROTECTED)
17+
public class Participant extends BaseEntity {
18+
19+
@Id
20+
@GeneratedValue(strategy = GenerationType.IDENTITY)
21+
private Long id;
22+
23+
@ManyToOne
24+
@JoinColumn(name = "room_id")
25+
private Room room;
26+
27+
@ManyToOne
28+
@JoinColumn(name = "member_id")
29+
private Member member;
30+
31+
@Enumerated(EnumType.STRING)
32+
private ParticipantType participantType;
33+
34+
private LocalDateTime exitedAt;
35+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.oronaminc.join.participant.domain;
2+
3+
public enum ParticipantType {
4+
PRESENTER, TEAM, GUEST
5+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.oronaminc.join.question.domain;
2+
3+
import com.oronaminc.join.global.entity.BaseEntity;
4+
import com.oronaminc.join.member.domain.Member;
5+
import com.oronaminc.join.room.domain.Room;
6+
import jakarta.persistence.*;
7+
import lombok.AccessLevel;
8+
import lombok.Getter;
9+
import lombok.NoArgsConstructor;
10+
11+
@Entity
12+
@Getter
13+
@NoArgsConstructor(access = AccessLevel.PROTECTED)
14+
public class Question extends BaseEntity {
15+
16+
@Id
17+
@GeneratedValue(strategy = GenerationType.IDENTITY)
18+
private Long id;
19+
20+
@ManyToOne
21+
@JoinColumn(name = "room_id")
22+
private Room room;
23+
24+
@ManyToOne
25+
@JoinColumn(name = "member_id")
26+
private Member member;
27+
28+
private String content;
29+
30+
private Long emojiCount;
31+
32+
@Version
33+
private Integer version;
34+
35+
}

0 commit comments

Comments
 (0)