diff --git a/back/src/main/java/com/back/domain/job/job/entity/Job.java b/back/src/main/java/com/back/domain/job/job/entity/Job.java index a4e04d32..ec53f1ad 100644 --- a/back/src/main/java/com/back/domain/job/job/entity/Job.java +++ b/back/src/main/java/com/back/domain/job/job/entity/Job.java @@ -4,13 +4,13 @@ import jakarta.persistence.*; import lombok.Getter; import lombok.NoArgsConstructor; -import lombok.Setter; +import java.util.ArrayList; import java.util.List; @Entity @Table(name = "job") -@Getter @Setter +@Getter @NoArgsConstructor public class Job extends BaseEntity { @Column(name = "name", nullable = false, unique = true) @@ -20,15 +20,19 @@ public class Job extends BaseEntity { private String description; @OneToMany(mappedBy = "job", cascade = CascadeType.ALL) - private List aliases; + private List aliases = new ArrayList<>(); public Job(String name, String description) { this.name = name; this.description = description; + this.aliases = new ArrayList<>(); } public void addAlias(JobAlias alias) { + if (aliases == null) { + aliases = new ArrayList<>(); + } aliases.add(alias); - alias.setJob(this); + alias.linkToJob(this); } } diff --git a/back/src/main/java/com/back/domain/job/job/entity/JobAlias.java b/back/src/main/java/com/back/domain/job/job/entity/JobAlias.java index 25997c3b..e394a845 100644 --- a/back/src/main/java/com/back/domain/job/job/entity/JobAlias.java +++ b/back/src/main/java/com/back/domain/job/job/entity/JobAlias.java @@ -4,11 +4,10 @@ import jakarta.persistence.*; import lombok.Getter; import lombok.NoArgsConstructor; -import lombok.Setter; @Entity @Table(name = "job_alias") -@Getter @Setter +@Getter @NoArgsConstructor public class JobAlias extends BaseEntity { @Column(name = "name", nullable = false, unique = true) @@ -22,4 +21,12 @@ public JobAlias(String name) { this.name = name; this.job = null; // 기본적으로 연결된 Job이 없음 (pending 상태) } + + public void linkToJob(Job job) { + this.job = job; + } + + public boolean isPending() { + return this.job == null; + } } diff --git a/back/src/main/java/com/back/domain/job/job/service/JobService.java b/back/src/main/java/com/back/domain/job/job/service/JobService.java index 0a6b8614..2425ba69 100644 --- a/back/src/main/java/com/back/domain/job/job/service/JobService.java +++ b/back/src/main/java/com/back/domain/job/job/service/JobService.java @@ -28,7 +28,7 @@ public Job create(String name, String description) { @Transactional public JobAlias createAlias(Job job, String aliasName) { JobAlias alias = new JobAlias(aliasName); - alias.setJob(job); + job.addAlias(alias); return jobAliasRepository.save(alias); } }