diff --git a/src/main/java/com/example/solidconnection/university/domain/UnivApplyInfo.java b/src/main/java/com/example/solidconnection/university/domain/UnivApplyInfo.java index 5ebfebcbb..1b245d410 100644 --- a/src/main/java/com/example/solidconnection/university/domain/UnivApplyInfo.java +++ b/src/main/java/com/example/solidconnection/university/domain/UnivApplyInfo.java @@ -15,12 +15,15 @@ import jakarta.persistence.OneToMany; import jakarta.persistence.Table; import java.util.HashSet; +import java.util.Map; import java.util.Set; import lombok.AccessLevel; import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.NoArgsConstructor; +import org.hibernate.annotations.JdbcTypeCode; +import org.hibernate.type.SqlTypes; @Getter @EqualsAndHashCode(of = "id") @@ -83,6 +86,10 @@ public class UnivApplyInfo extends BaseEntity { @Column(name = "details", length = 1000) private String details; + @JdbcTypeCode(SqlTypes.JSON) + @Column(name = "extra_info", columnDefinition = "JSON") + private Map extraInfo; + @OneToMany(mappedBy = "univApplyInfo", cascade = CascadeType.ALL, orphanRemoval = true) private Set languageRequirements = new HashSet<>(); @@ -92,4 +99,8 @@ public class UnivApplyInfo extends BaseEntity { public void addLanguageRequirements(LanguageRequirement languageRequirements) { this.languageRequirements.add(languageRequirements); } + + public void updateExtraInfo(Map extraInfo) { + this.extraInfo = extraInfo; + } } diff --git a/src/main/resources/db/migration/V49__add_extra_info_to_university_info_for_apply.sql b/src/main/resources/db/migration/V49__add_extra_info_to_university_info_for_apply.sql new file mode 100644 index 000000000..6cbf2e25f --- /dev/null +++ b/src/main/resources/db/migration/V49__add_extra_info_to_university_info_for_apply.sql @@ -0,0 +1,2 @@ +ALTER TABLE university_info_for_apply + ADD COLUMN extra_info JSON NULL; diff --git a/src/test/java/com/example/solidconnection/university/fixture/UnivApplyInfoFixtureBuilder.java b/src/test/java/com/example/solidconnection/university/fixture/UnivApplyInfoFixtureBuilder.java index 2320f2544..7f57a0038 100644 --- a/src/test/java/com/example/solidconnection/university/fixture/UnivApplyInfoFixtureBuilder.java +++ b/src/test/java/com/example/solidconnection/university/fixture/UnivApplyInfoFixtureBuilder.java @@ -52,7 +52,7 @@ public UnivApplyInfo create() { "1", "detailsForLanguage", "gpaRequirement", "gpaRequirementCriteria", "detailsForApply", "detailsForMajor", "detailsForAccommodation", "detailsForEnglishCourse", "details", - new HashSet<>(), university + null, new HashSet<>(), university ); return univApplyInfoRepository.save(univApplyInfo); }