Skip to content

Commit 8b2fdfb

Browse files
committed
[feat/#27] 문항 검색 api 추가
1 parent c389d79 commit 8b2fdfb

34 files changed

+1155
-25
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ build/
44
!gradle/wrapper/gradle-wrapper.jar
55
!**/src/main/**/build/
66
!**/src/test/**/build/
7-
87
.env
98

109
### STS ###
@@ -37,3 +36,5 @@ out/
3736

3837
### VS Code ###
3938
.vscode/
39+
40+
src/test/resources/insert-search-problem.sql

build.gradle

+10
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ repositories {
2323
mavenCentral()
2424
}
2525

26+
2627
dependencies {
2728
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
2829
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
@@ -61,6 +62,15 @@ dependencies {
6162
annotationProcessor 'org.mapstruct:mapstruct-processor:1.6.3'
6263
annotationProcessor 'org.projectlombok:lombok-mapstruct-binding:0.2.0'
6364

65+
// JPA
66+
implementation 'jakarta.persistence:jakarta.persistence-api:3.1.0'
67+
implementation 'jakarta.annotation:jakarta.annotation-api:2.1.1'
68+
69+
// QueryDSL
70+
implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
71+
annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"
72+
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
73+
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
6474
}
6575

6676
tasks.named('test') {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package com.moplus.moplus_server.domain.concept.domain;
2+
3+
import static com.querydsl.core.types.PathMetadataFactory.*;
4+
5+
import com.querydsl.core.types.dsl.*;
6+
7+
import com.querydsl.core.types.PathMetadata;
8+
import javax.annotation.processing.Generated;
9+
import com.querydsl.core.types.Path;
10+
11+
12+
/**
13+
* QConceptTag is a Querydsl query type for ConceptTag
14+
*/
15+
@Generated("com.querydsl.codegen.DefaultEntitySerializer")
16+
public class QConceptTag extends EntityPathBase<ConceptTag> {
17+
18+
private static final long serialVersionUID = 652954745L;
19+
20+
public static final QConceptTag conceptTag = new QConceptTag("conceptTag");
21+
22+
public final com.moplus.moplus_server.global.common.QBaseEntity _super = new com.moplus.moplus_server.global.common.QBaseEntity(this);
23+
24+
//inherited
25+
public final DateTimePath<java.time.LocalDateTime> createdDate = _super.createdDate;
26+
27+
public final NumberPath<Long> id = createNumber("id", Long.class);
28+
29+
public final StringPath name = createString("name");
30+
31+
//inherited
32+
public final DateTimePath<java.time.LocalDateTime> updatedDate = _super.updatedDate;
33+
34+
public QConceptTag(String variable) {
35+
super(ConceptTag.class, forVariable(variable));
36+
}
37+
38+
public QConceptTag(Path<? extends ConceptTag> path) {
39+
super(path.getType(), path.getMetadata());
40+
}
41+
42+
public QConceptTag(PathMetadata metadata) {
43+
super(ConceptTag.class, metadata);
44+
}
45+
46+
}
47+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package com.moplus.moplus_server.domain.member.domain;
2+
3+
import static com.querydsl.core.types.PathMetadataFactory.*;
4+
5+
import com.querydsl.core.types.dsl.*;
6+
7+
import com.querydsl.core.types.PathMetadata;
8+
import javax.annotation.processing.Generated;
9+
import com.querydsl.core.types.Path;
10+
11+
12+
/**
13+
* QMember is a Querydsl query type for Member
14+
*/
15+
@Generated("com.querydsl.codegen.DefaultEntitySerializer")
16+
public class QMember extends EntityPathBase<Member> {
17+
18+
private static final long serialVersionUID = -705761779L;
19+
20+
public static final QMember member = new QMember("member1");
21+
22+
public final com.moplus.moplus_server.global.common.QBaseEntity _super = new com.moplus.moplus_server.global.common.QBaseEntity(this);
23+
24+
//inherited
25+
public final DateTimePath<java.time.LocalDateTime> createdDate = _super.createdDate;
26+
27+
public final StringPath email = createString("email");
28+
29+
public final NumberPath<Long> id = createNumber("id", Long.class);
30+
31+
public final StringPath name = createString("name");
32+
33+
public final StringPath password = createString("password");
34+
35+
public final EnumPath<MemberRole> role = createEnum("role", MemberRole.class);
36+
37+
//inherited
38+
public final DateTimePath<java.time.LocalDateTime> updatedDate = _super.updatedDate;
39+
40+
public QMember(String variable) {
41+
super(Member.class, forVariable(variable));
42+
}
43+
44+
public QMember(Path<? extends Member> path) {
45+
super(path.getType(), path.getMetadata());
46+
}
47+
48+
public QMember(PathMetadata metadata) {
49+
super(Member.class, metadata);
50+
}
51+
52+
}
53+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package com.moplus.moplus_server.domain.problem.domain;
2+
3+
import static com.querydsl.core.types.PathMetadataFactory.*;
4+
5+
import com.querydsl.core.types.dsl.*;
6+
7+
import com.querydsl.core.types.PathMetadata;
8+
import javax.annotation.processing.Generated;
9+
import com.querydsl.core.types.Path;
10+
11+
12+
/**
13+
* QAnswer is a Querydsl query type for Answer
14+
*/
15+
@Generated("com.querydsl.codegen.DefaultEmbeddableSerializer")
16+
public class QAnswer extends BeanPath<Answer> {
17+
18+
private static final long serialVersionUID = 983834524L;
19+
20+
public static final QAnswer answer = new QAnswer("answer");
21+
22+
public final StringPath value = createString("value");
23+
24+
public QAnswer(String variable) {
25+
super(Answer.class, forVariable(variable));
26+
}
27+
28+
public QAnswer(Path<? extends Answer> path) {
29+
super(path.getType(), path.getMetadata());
30+
}
31+
32+
public QAnswer(PathMetadata metadata) {
33+
super(Answer.class, metadata);
34+
}
35+
36+
}
37+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
package com.moplus.moplus_server.domain.problem.domain.childProblem;
2+
3+
import static com.querydsl.core.types.PathMetadataFactory.*;
4+
5+
import com.querydsl.core.types.dsl.*;
6+
7+
import com.querydsl.core.types.PathMetadata;
8+
import javax.annotation.processing.Generated;
9+
import com.querydsl.core.types.Path;
10+
import com.querydsl.core.types.dsl.PathInits;
11+
12+
13+
/**
14+
* QChildProblem is a Querydsl query type for ChildProblem
15+
*/
16+
@Generated("com.querydsl.codegen.DefaultEntitySerializer")
17+
public class QChildProblem extends EntityPathBase<ChildProblem> {
18+
19+
private static final long serialVersionUID = 1030139824L;
20+
21+
private static final PathInits INITS = PathInits.DIRECT2;
22+
23+
public static final QChildProblem childProblem = new QChildProblem("childProblem");
24+
25+
public final com.moplus.moplus_server.global.common.QBaseEntity _super = new com.moplus.moplus_server.global.common.QBaseEntity(this);
26+
27+
public final com.moplus.moplus_server.domain.problem.domain.QAnswer answer;
28+
29+
public final SetPath<Long, NumberPath<Long>> conceptTagIds = this.<Long, NumberPath<Long>>createSet("conceptTagIds", Long.class, NumberPath.class, PathInits.DIRECT2);
30+
31+
//inherited
32+
public final DateTimePath<java.time.LocalDateTime> createdDate = _super.createdDate;
33+
34+
public final NumberPath<Long> id = createNumber("id", Long.class);
35+
36+
public final StringPath imageUrl = createString("imageUrl");
37+
38+
public final EnumPath<com.moplus.moplus_server.domain.problem.domain.problem.ProblemType> problemType = createEnum("problemType", com.moplus.moplus_server.domain.problem.domain.problem.ProblemType.class);
39+
40+
public final NumberPath<Integer> sequence = createNumber("sequence", Integer.class);
41+
42+
//inherited
43+
public final DateTimePath<java.time.LocalDateTime> updatedDate = _super.updatedDate;
44+
45+
public QChildProblem(String variable) {
46+
this(ChildProblem.class, forVariable(variable), INITS);
47+
}
48+
49+
public QChildProblem(Path<? extends ChildProblem> path) {
50+
this(path.getType(), path.getMetadata(), PathInits.getFor(path.getMetadata(), INITS));
51+
}
52+
53+
public QChildProblem(PathMetadata metadata) {
54+
this(metadata, PathInits.getFor(metadata, INITS));
55+
}
56+
57+
public QChildProblem(PathMetadata metadata, PathInits inits) {
58+
this(ChildProblem.class, metadata, inits);
59+
}
60+
61+
public QChildProblem(Class<? extends ChildProblem> type, PathMetadata metadata, PathInits inits) {
62+
super(type, metadata, inits);
63+
this.answer = inits.isInitialized("answer") ? new com.moplus.moplus_server.domain.problem.domain.QAnswer(forProperty("answer")) : null;
64+
}
65+
66+
}
67+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package com.moplus.moplus_server.domain.problem.domain.practiceTest;
2+
3+
import static com.querydsl.core.types.PathMetadataFactory.*;
4+
5+
import com.querydsl.core.types.dsl.*;
6+
7+
import com.querydsl.core.types.PathMetadata;
8+
import javax.annotation.processing.Generated;
9+
import com.querydsl.core.types.Path;
10+
11+
12+
/**
13+
* QPracticeTestTag is a Querydsl query type for PracticeTestTag
14+
*/
15+
@Generated("com.querydsl.codegen.DefaultEntitySerializer")
16+
public class QPracticeTestTag extends EntityPathBase<PracticeTestTag> {
17+
18+
private static final long serialVersionUID = -2120162934L;
19+
20+
public static final QPracticeTestTag practiceTestTag = new QPracticeTestTag("practiceTestTag");
21+
22+
public final StringPath area = createString("area");
23+
24+
public final NumberPath<Long> id = createNumber("id", Long.class);
25+
26+
public final NumberPath<Integer> month = createNumber("month", Integer.class);
27+
28+
public final StringPath name = createString("name");
29+
30+
public final EnumPath<Subject> subject = createEnum("subject", Subject.class);
31+
32+
public final NumberPath<Integer> year = createNumber("year", Integer.class);
33+
34+
public QPracticeTestTag(String variable) {
35+
super(PracticeTestTag.class, forVariable(variable));
36+
}
37+
38+
public QPracticeTestTag(Path<? extends PracticeTestTag> path) {
39+
super(path.getType(), path.getMetadata());
40+
}
41+
42+
public QPracticeTestTag(PathMetadata metadata) {
43+
super(PracticeTestTag.class, metadata);
44+
}
45+
46+
}
47+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
package com.moplus.moplus_server.domain.problem.domain.problem;
2+
3+
import static com.querydsl.core.types.PathMetadataFactory.*;
4+
5+
import com.querydsl.core.types.dsl.*;
6+
7+
import com.querydsl.core.types.PathMetadata;
8+
import javax.annotation.processing.Generated;
9+
import com.querydsl.core.types.Path;
10+
import com.querydsl.core.types.dsl.PathInits;
11+
12+
13+
/**
14+
* QProblem is a Querydsl query type for Problem
15+
*/
16+
@Generated("com.querydsl.codegen.DefaultEntitySerializer")
17+
public class QProblem extends EntityPathBase<Problem> {
18+
19+
private static final long serialVersionUID = -1319796686L;
20+
21+
private static final PathInits INITS = PathInits.DIRECT2;
22+
23+
public static final QProblem problem = new QProblem("problem");
24+
25+
public final com.moplus.moplus_server.global.common.QBaseEntity _super = new com.moplus.moplus_server.global.common.QBaseEntity(this);
26+
27+
public final com.moplus.moplus_server.domain.problem.domain.QAnswer answer;
28+
29+
public final ListPath<com.moplus.moplus_server.domain.problem.domain.childProblem.ChildProblem, com.moplus.moplus_server.domain.problem.domain.childProblem.QChildProblem> childProblems = this.<com.moplus.moplus_server.domain.problem.domain.childProblem.ChildProblem, com.moplus.moplus_server.domain.problem.domain.childProblem.QChildProblem>createList("childProblems", com.moplus.moplus_server.domain.problem.domain.childProblem.ChildProblem.class, com.moplus.moplus_server.domain.problem.domain.childProblem.QChildProblem.class, PathInits.DIRECT2);
30+
31+
public final StringPath comment = createString("comment");
32+
33+
public final SetPath<Long, NumberPath<Long>> conceptTagIds = this.<Long, NumberPath<Long>>createSet("conceptTagIds", Long.class, NumberPath.class, PathInits.DIRECT2);
34+
35+
//inherited
36+
public final DateTimePath<java.time.LocalDateTime> createdDate = _super.createdDate;
37+
38+
public final QProblemId id;
39+
40+
public final BooleanPath isPublished = createBoolean("isPublished");
41+
42+
public final BooleanPath isVariation = createBoolean("isVariation");
43+
44+
public final StringPath mainAnalysisImageUrl = createString("mainAnalysisImageUrl");
45+
46+
public final StringPath mainProblemImageUrl = createString("mainProblemImageUrl");
47+
48+
public final NumberPath<Integer> number = createNumber("number", Integer.class);
49+
50+
public final NumberPath<Long> practiceTestId = createNumber("practiceTestId", Long.class);
51+
52+
public final StringPath prescriptionImageUrl = createString("prescriptionImageUrl");
53+
54+
public final EnumPath<ProblemType> problemType = createEnum("problemType", ProblemType.class);
55+
56+
public final StringPath readingTipImageUrl = createString("readingTipImageUrl");
57+
58+
public final StringPath seniorTipImageUrl = createString("seniorTipImageUrl");
59+
60+
//inherited
61+
public final DateTimePath<java.time.LocalDateTime> updatedDate = _super.updatedDate;
62+
63+
public QProblem(String variable) {
64+
this(Problem.class, forVariable(variable), INITS);
65+
}
66+
67+
public QProblem(Path<? extends Problem> path) {
68+
this(path.getType(), path.getMetadata(), PathInits.getFor(path.getMetadata(), INITS));
69+
}
70+
71+
public QProblem(PathMetadata metadata) {
72+
this(metadata, PathInits.getFor(metadata, INITS));
73+
}
74+
75+
public QProblem(PathMetadata metadata, PathInits inits) {
76+
this(Problem.class, metadata, inits);
77+
}
78+
79+
public QProblem(Class<? extends Problem> type, PathMetadata metadata, PathInits inits) {
80+
super(type, metadata, inits);
81+
this.answer = inits.isInitialized("answer") ? new com.moplus.moplus_server.domain.problem.domain.QAnswer(forProperty("answer")) : null;
82+
this.id = inits.isInitialized("id") ? new QProblemId(forProperty("id")) : null;
83+
}
84+
85+
}
86+

0 commit comments

Comments
 (0)