Skip to content

Commit b6037ab

Browse files
committed
refactor: community 도메인 제외 연관관계 삭제
- Application, Country, GpaScore, InterestedCountry/Region, LanguageTestScore, LikedUniversity. SiteUser, UnivApplyInfo 도메인 수정 - 연관관계 삭제 및 생성자 parameter 수정으로 인한 쿼리 수정 다수 - test코드 수정
1 parent 45430c9 commit b6037ab

33 files changed

Lines changed: 146 additions & 193 deletions

src/main/java/com/example/solidconnection/application/domain/Application.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,15 +74,15 @@ public class Application {
7474
@Column(name = "third_choice_university_info_for_apply_id")
7575
private Long thirdChoiceUnivApplyInfoId;
7676

77-
@ManyToOne(fetch = FetchType.LAZY)
78-
private SiteUser siteUser;
77+
@Column(name = "site_user_id")
78+
private long siteUserId;
7979

8080
public Application(
8181
SiteUser siteUser,
8282
Gpa gpa,
8383
LanguageTest languageTest,
8484
String term) {
85-
this.siteUser = siteUser;
85+
this.siteUserId = siteUser.getId();
8686
this.gpa = gpa;
8787
this.languageTest = languageTest;
8888
this.term = term;
@@ -100,7 +100,7 @@ public Application(
100100
Long secondChoiceUnivApplyInfoId,
101101
Long thirdChoiceUnivApplyInfoId,
102102
String nicknameForApply) {
103-
this.siteUser = siteUser;
103+
this.siteUserId = siteUser.getId();
104104
this.gpa = gpa;
105105
this.languageTest = languageTest;
106106
this.term = term;
@@ -121,7 +121,7 @@ public Application(
121121
Long secondChoiceUnivApplyInfoId,
122122
Long thirdChoiceUnivApplyInfoId,
123123
String nicknameForApply) {
124-
this.siteUser = siteUser;
124+
this.siteUserId = siteUser.getId();
125125
this.gpa = gpa;
126126
this.languageTest = languageTest;
127127
this.term = term;

src/main/java/com/example/solidconnection/application/dto/UniversityApplicantsResponse.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,6 @@ public static UniversityApplicantsResponse of(UnivApplyInfo univApplyInfo, List<
2424
}
2525

2626
private static boolean isUsers(Application application, SiteUser siteUser) {
27-
return application.getSiteUser().getId().equals(siteUser.getId());
27+
return application.getSiteUserId() == siteUser.getId();
2828
}
2929
}

src/main/java/com/example/solidconnection/application/repository/ApplicationRepository.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,27 +22,27 @@ public interface ApplicationRepository extends JpaRepository<Application, Long>
2222
@Query("""
2323
SELECT a
2424
FROM Application a
25-
JOIN FETCH a.siteUser
2625
WHERE (a.firstChoiceUnivApplyInfoId IN :universityIds
2726
OR a.secondChoiceUnivApplyInfoId IN :universityIds
2827
OR a.thirdChoiceUnivApplyInfoId IN :universityIds)
2928
AND a.verifyStatus = :status
3029
AND a.term = :term
3130
AND a.isDelete = false
3231
""")
33-
List<Application> findAllByUnivApplyInfoIds(@Param("universityIds") List<Long> universityIds, @Param("status") VerifyStatus status, @Param("term") String term);
32+
List<Application> findAllByUnivApplyInfoIds(
33+
@Param("universityIds") List<Long> universityIds, @Param("status") VerifyStatus status, @Param("term") String term);
3434

3535
@Query("""
3636
SELECT a
3737
FROM Application a
38-
WHERE a.siteUser = :siteUser
38+
WHERE a.siteUserId = :siteUserId
3939
AND a.term = :term
4040
AND a.isDelete = false
4141
""")
42-
Optional<Application> findBySiteUserAndTerm(@Param("siteUser") SiteUser siteUser, @Param("term") String term);
42+
Optional<Application> findBySiteUserIdAndTerm(@Param("siteUserId") Long siteUserId, @Param("term") String term);
4343

44-
default Application getApplicationBySiteUserAndTerm(SiteUser siteUser, String term) {
45-
return findBySiteUserAndTerm(siteUser, term)
44+
default Application getApplicationBySiteUserIdAndTerm(Long siteUserId, String term) {
45+
return findBySiteUserIdAndTerm(siteUserId, term)
4646
.orElseThrow(() -> new CustomException(APPLICATION_NOT_FOUND));
4747
}
4848
}

src/main/java/com/example/solidconnection/application/service/ApplicationQueryService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public ApplicationsResponse getApplicants(SiteUser siteUser, String regionCode,
5656

5757
@Transactional(readOnly = true)
5858
public ApplicationsResponse getApplicantsByUserApplications(SiteUser siteUser) {
59-
Application userLatestApplication = applicationRepository.getApplicationBySiteUserAndTerm(siteUser, term);
59+
Application userLatestApplication = applicationRepository.getApplicationBySiteUserIdAndTerm(siteUser.getId(), term);
6060

6161
List<Long> universityInfoForApplyIds = Stream.of(
6262
userLatestApplication.getFirstChoiceUnivApplyInfoId(),
@@ -120,7 +120,7 @@ private List<UniversityApplicantsResponse> createUniversityApplicantsResponses(
120120

121121
@Transactional(readOnly = true)
122122
public void validateSiteUserCanViewApplicants(SiteUser siteUser) {
123-
VerifyStatus verifyStatus = applicationRepository.getApplicationBySiteUserAndTerm(siteUser, term).getVerifyStatus();
123+
VerifyStatus verifyStatus = applicationRepository.getApplicationBySiteUserIdAndTerm(siteUser.getId(), term).getVerifyStatus();
124124
if (verifyStatus != VerifyStatus.APPROVED) {
125125
throw new CustomException(APPLICATION_NOT_APPROVED);
126126
}

src/main/java/com/example/solidconnection/application/service/ApplicationSubmissionService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public ApplicationSubmissionResponse apply(SiteUser siteUser, ApplyRequest apply
5050
Long secondChoiceUniversityId = universityChoiceRequest.secondChoiceUniversityId();
5151
Long thirdChoiceUniversityId = universityChoiceRequest.thirdChoiceUniversityId();
5252

53-
Optional<Application> existingApplication = applicationRepository.findBySiteUserAndTerm(siteUser, term);
53+
Optional<Application> existingApplication = applicationRepository.findBySiteUserIdAndTerm(siteUser.getId(), term);
5454
int updateCount = existingApplication
5555
.map(application -> {
5656
validateUpdateLimitNotExceed(application);
@@ -78,7 +78,7 @@ public ApplicationSubmissionResponse apply(SiteUser siteUser, ApplyRequest apply
7878
}
7979

8080
private GpaScore getValidGpaScore(SiteUser siteUser, Long gpaScoreId) {
81-
GpaScore gpaScore = gpaScoreRepository.findGpaScoreBySiteUserAndId(siteUser, gpaScoreId)
81+
GpaScore gpaScore = gpaScoreRepository.findGpaScoreBySiteUserIdAndId(siteUser.getId(), gpaScoreId)
8282
.orElseThrow(() -> new CustomException(GPA_SCORE_NOT_FOUND));
8383
if (gpaScore.getVerifyStatus() != VerifyStatus.APPROVED) {
8484
throw new CustomException(INVALID_GPA_SCORE_STATUS);
@@ -88,7 +88,7 @@ private GpaScore getValidGpaScore(SiteUser siteUser, Long gpaScoreId) {
8888

8989
private LanguageTestScore getValidLanguageTestScore(SiteUser siteUser, Long languageTestScoreId) {
9090
LanguageTestScore languageTestScore = languageTestScoreRepository
91-
.findLanguageTestScoreBySiteUserAndId(siteUser, languageTestScoreId)
91+
.findLanguageTestScoreBySiteUserIdAndId(siteUser.getId(), languageTestScoreId)
9292
.orElseThrow(() -> new CustomException(INVALID_LANGUAGE_TEST_SCORE));
9393
if (languageTestScore.getVerifyStatus() != VerifyStatus.APPROVED) {
9494
throw new CustomException(INVALID_LANGUAGE_TEST_SCORE_STATUS);

src/main/java/com/example/solidconnection/location/country/domain/Country.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ public class Country {
2323
@Column(nullable = false, length = 100)
2424
private String koreanName;
2525

26-
@ManyToOne
27-
private Region region;
26+
@Column(name="region_code")
27+
private String regionCode;
2828

29-
public Country(String code, String koreanName, Region region) {
29+
public Country(String code, String koreanName, String regionCode) {
3030
this.code = code;
3131
this.koreanName = koreanName;
32-
this.region = region;
32+
this.regionCode = regionCode;
3333
}
3434
}
Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,7 @@
11
package com.example.solidconnection.location.country.domain;
22

33
import com.example.solidconnection.siteuser.domain.SiteUser;
4-
import jakarta.persistence.Entity;
5-
import jakarta.persistence.GeneratedValue;
6-
import jakarta.persistence.GenerationType;
7-
import jakarta.persistence.Id;
8-
import jakarta.persistence.ManyToOne;
9-
import jakarta.persistence.Table;
10-
import jakarta.persistence.UniqueConstraint;
4+
import jakarta.persistence.*;
115
import lombok.AccessLevel;
126
import lombok.Getter;
137
import lombok.NoArgsConstructor;
@@ -27,14 +21,14 @@ public class InterestedCountry {
2721
@GeneratedValue(strategy = GenerationType.IDENTITY)
2822
private Long id;
2923

30-
@ManyToOne
31-
private SiteUser siteUser;
24+
@Column(name="site_user_id")
25+
private long siteUserId;
3226

33-
@ManyToOne
34-
private Country country;
27+
@Column(name="country_code")
28+
private String countryCode;
3529

3630
public InterestedCountry(SiteUser siteUser, Country country) {
37-
this.siteUser = siteUser;
38-
this.country = country;
31+
this.siteUserId = siteUser.getId();
32+
this.countryCode = country.getCode();
3933
}
4034
}

src/main/java/com/example/solidconnection/location/country/repository/InterestedCountryRepository.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@
99

1010
@Repository
1111
public interface InterestedCountryRepository extends JpaRepository<InterestedCountry, Long> {
12-
List<InterestedCountry> findAllBySiteUser(SiteUser siteUser);
12+
List<InterestedCountry> findAllBySiteUserId(long siteUserId);
1313
}
Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,7 @@
11
package com.example.solidconnection.location.region.domain;
22

33
import com.example.solidconnection.siteuser.domain.SiteUser;
4-
import jakarta.persistence.Entity;
5-
import jakarta.persistence.GeneratedValue;
6-
import jakarta.persistence.GenerationType;
7-
import jakarta.persistence.Id;
8-
import jakarta.persistence.ManyToOne;
9-
import jakarta.persistence.Table;
10-
import jakarta.persistence.UniqueConstraint;
4+
import jakarta.persistence.*;
115
import lombok.AccessLevel;
126
import lombok.Getter;
137
import lombok.NoArgsConstructor;
@@ -27,14 +21,14 @@ public class InterestedRegion {
2721
@GeneratedValue(strategy = GenerationType.IDENTITY)
2822
private Long id;
2923

30-
@ManyToOne
31-
private SiteUser siteUser;
24+
@Column(name="site_user_id")
25+
private long siteUserId;
3226

33-
@ManyToOne
34-
private Region region;
27+
@Column(name="region_code")
28+
private String regionCode;
3529

3630
public InterestedRegion(SiteUser siteUser, Region region) {
37-
this.siteUser = siteUser;
38-
this.region = region;
31+
this.siteUserId = siteUser.getId();
32+
this.regionCode = region.getCode();
3933
}
4034
}

src/main/java/com/example/solidconnection/location/region/repository/InterestedRegionRepository.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@
99

1010
@Repository
1111
public interface InterestedRegionRepository extends JpaRepository<InterestedRegion, Long> {
12-
List<InterestedRegion> findAllBySiteUser(SiteUser siteUser);
12+
List<InterestedRegion> findAllBySiteUserId(long siteUserId);
1313
}

0 commit comments

Comments
 (0)