Skip to content

Commit e778a69

Browse files
committed
[feat/#21]문항, 새끼문항, 개념태그 엔티티 구현
1 parent 651afd5 commit e778a69

File tree

3 files changed

+105
-0
lines changed

3 files changed

+105
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.moplus.moplus_server.domain.concept.domain;
2+
3+
import com.moplus.moplus_server.global.common.BaseEntity;
4+
import jakarta.persistence.Column;
5+
import jakarta.persistence.Entity;
6+
import jakarta.persistence.GeneratedValue;
7+
import jakarta.persistence.GenerationType;
8+
import jakarta.persistence.Id;
9+
import lombok.Getter;
10+
import lombok.NoArgsConstructor;
11+
12+
@Getter
13+
@Entity
14+
@NoArgsConstructor
15+
public class ConceptTag extends BaseEntity {
16+
17+
@Id
18+
@GeneratedValue(strategy = GenerationType.IDENTITY)
19+
@Column(name = "concept_tag_id")
20+
Long id;
21+
22+
String name;
23+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.moplus.moplus_server.domain.problem.domain;
2+
3+
import jakarta.persistence.CollectionTable;
4+
import jakarta.persistence.Column;
5+
import jakarta.persistence.ElementCollection;
6+
import jakarta.persistence.Entity;
7+
import jakarta.persistence.GeneratedValue;
8+
import jakarta.persistence.GenerationType;
9+
import jakarta.persistence.Id;
10+
import jakarta.persistence.JoinColumn;
11+
import java.util.Set;
12+
import lombok.Getter;
13+
import lombok.NoArgsConstructor;
14+
15+
@Getter
16+
@Entity
17+
@NoArgsConstructor
18+
public class ChildProblem {
19+
20+
@Id
21+
@GeneratedValue(strategy = GenerationType.IDENTITY)
22+
@Column(name = "problem_id")
23+
Long id;
24+
@ElementCollection
25+
@CollectionTable(name = "child_problem_concept", joinColumns = @JoinColumn(name = "concept_tag_id"))
26+
Set<Long> conceptTagIds;
27+
private String problemImageUrl;
28+
private String answer;
29+
30+
public ChildProblem(String problemImageUrl, String answer, Set<Long> conceptTagIds) {
31+
this.problemImageUrl = problemImageUrl;
32+
this.answer = answer;
33+
this.conceptTagIds = conceptTagIds;
34+
}
35+
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package com.moplus.moplus_server.domain.problem.domain;
2+
3+
import com.moplus.moplus_server.global.common.BaseEntity;
4+
import jakarta.persistence.CascadeType;
5+
import jakarta.persistence.CollectionTable;
6+
import jakarta.persistence.Column;
7+
import jakarta.persistence.ElementCollection;
8+
import jakarta.persistence.Entity;
9+
import jakarta.persistence.GeneratedValue;
10+
import jakarta.persistence.GenerationType;
11+
import jakarta.persistence.Id;
12+
import jakarta.persistence.JoinColumn;
13+
import jakarta.persistence.OneToMany;
14+
import java.util.ArrayList;
15+
import java.util.List;
16+
import java.util.Set;
17+
import lombok.Getter;
18+
import lombok.NoArgsConstructor;
19+
20+
@Getter
21+
@Entity
22+
@NoArgsConstructor
23+
public class Problem extends BaseEntity {
24+
25+
@Id
26+
@GeneratedValue(strategy = GenerationType.IDENTITY)
27+
@Column(name = "problem_id")
28+
Long id;
29+
30+
String practiceTestId;
31+
int number;
32+
int answer;
33+
String comment;
34+
String mainProblemImageUrl;
35+
String mainAnalysisImageUrl;
36+
String readingTipImageUrl;
37+
String seniorTipImageUrl;
38+
String prescriptionImageUrl;
39+
40+
@ElementCollection
41+
@CollectionTable(name = "problem_concept", joinColumns = @JoinColumn(name = "concept_tag_id"))
42+
Set<Long> conceptTagIds;
43+
44+
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
45+
@JoinColumn(name = "problem_id")
46+
private List<ChildProblem> childProblems = new ArrayList<>();
47+
}

0 commit comments

Comments
 (0)