diff --git a/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/entity/Assignment.java b/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/entity/Assignment.java index 410c522..eede8f9 100644 --- a/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/entity/Assignment.java +++ b/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/entity/Assignment.java @@ -37,6 +37,7 @@ public class Assignment { // AssignmentItem 입장에서 "assignment" 필드의 외래 키를 가진 주인 // assignment를 참조하는 assignmentitem 컬랙션을 가짐 @OneToMany(mappedBy = "assignment", cascade = CascadeType.ALL, orphanRemoval = true) + @Builder.Default private List assignments = new ArrayList<>(); // 연관관계 편의 메서드 (양방향 시 자주 사용) diff --git a/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/service/AssignmentService.java b/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/service/AssignmentService.java index c4c25cd..f1ef8ef 100644 --- a/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/service/AssignmentService.java +++ b/backend/pirocheck/src/main/java/backend/pirocheck/Assignment/service/AssignmentService.java @@ -83,6 +83,20 @@ public String createAssignment(AssignmentCreateReq assignmentCreateReq) { assignment = assignmentRepository.save(assignment); + // 전체 유저에게 과제 자동 할당 + List users = userRepository.findAll(); + + for (User user : users) { + + AssignmentItem item = AssignmentItem.create(user, assignment, AssignmentStatus.INSUFFICIENT); + + assignment.addAssignmentItem(item); + user.addAssignmentItem(item); + +// assignmentItemRepository.save(item); +// Cascade 설정이 되어있으므로 assignment = assignmentRepository.save(assignment); 이 코드를 실행할 때 연관된 AssignmentItem도 함께 저장 됨 + } + return assignment.getAssignmentName(); }