inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Phát triển ứng dụng web dựa trên Spring và JPA

Đăng ký tham gia và hủy

모임참가 취소 할때 로직 질문

349

H K

93 câu hỏi đã được viết

0

안녕하세요

이부분에서 event.removeEnrollment(enrollment);
이 메서드를 타고 들어가면

이 메서드가 실행되는데 이때 106라인
->enrollment.setEvent(null);
이 코드는 꼭 필요 한건가요 ??

첫번째 사진 보시면 어차피

enrollmentRepository.delete(enrollment);
이걸 실행 하는데 왜 있는건지 이해가 잘 안갑니다 !

 

 

=================두번째 질문===========

이 부분에서 취소를 하면 대기하던사람이 자동 확정 하는 로직인데

대기 하던 사람들 중 제일 먼저 신청을 해놓은 사람들을

정렬해서 true 처리 해야하는데 이건 안되있는거 아닌가요 !!?

 

 

java spring spring-boot jpa thymeleaf

Câu trả lời 3

0

hyuk2000s8968

public Enrollment getTheFirstWaitingEnrollment() {
    return enrollments.stream()
            .filter(enrollment -> !enrollment.isAccepted()) // 대기 중인 멤버만 필터링
            .sorted(Comparator.comparing(Enrollment::getEnrolledAt)) // 신청 시간 기준 정렬
            .findFirst() // 가장 먼저 신청한 멤버 반환
            .orElse(null); // 없으면 null 반환
}

이렇게하면 되지않을까싶네요

0

whiteship

두번째 질문은 말씀하신대로 로직이 비어있거나 버그 같네요.

첫번째 질문에서 106번 라인의 코드는 연관 관계를 관리하는 목적으로 해당 코드가 반드시 caencelEnrollment에서만 사용될 거라면 필요 없을 수도 있겠지만, 그런 경우라면 오히려 106번 코드만 삭제하는게 아니라 removeEnrollment를 없애는게 좋겠네요.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

첫 번째 질문에 대한 답변입니다. enrollment.setEvent(null); 코드는 EnrollmentEvent 사이의 연관관계를 제거하는 데 필요합니다. JPA를 사용할 때, 양방향 연관관계가 있는 경우 양쪽 모두에서 연관관계를 정리해주어야 합니다. 즉, Enrollment 엔티티를 삭제하기 전에 Event와의 연관관계를 끊어주는 것이 JPA에서 엔티티의 일관된 상태를 유지하는 데 중요합니다. 따라서 enrollment.setEvent(null); 코드는 필요한 부분입니다.

두 번째 질문에 관해서, 대기 중인 Enrollment 목록을 순서대로 처리하는 로직이 필요하다는 말씀이 맞습니다. 이미지 속 코드만으로는 대기 목록이 어떤 기준으로 정렬되어 있는지, 혹은 정렬 로직이 없는지 확인하기 어렵습니다. 도메인 로직 상에서 대기 목록이 시간 순 또는 다른 기준에 따라 정렬되어 있다고 가정한 상태에서 첫 번째 대기 Enrollment을 활성화(accepted 상태를 true로 변경)하는 것으로 보입니다. 대기 목록(enrollments)이 적절한 순서대로 정렬되어 관리되어야 이 로직이 의도대로 작동할 것입니다. 이 부분은 코드의 다른 부분에서 정렬 로직을 구현하거나, Enrollment을 추가할 때 정렬 상태를 유지하는 방식으로 해결할 수 있습니다.

0

H K

첫번째 답변에서 연관관계를 제거하는 데 필요한건 인지하고 있었습니다

그런데 어차피 enrollmentRepository.delete(enrollment); 이 코드가 있으니까

생략해도 되는거 아닌가요?

Study 개설하는 로직에 대해서 궁금점이 있습니다.

0

53

1

앱 재시작 후 회원가입

0

99

1

app.host 관련 질문이 있습니다

0

96

1

강의 버전 정보

0

124

1

event, study 참조

0

218

2

비밀번호 변경 로직 질문있습니다.

0

133

1

프로필 수정 처리 merge 질문입니다.

0

104

1

회원가입 성공 후 redirect이동시 권한 질문

0

490

3

HtmlEmailService 개발하다 생긴 의문입니다

0

248

2

postgreSql 연결하여 JPA 를 통해 테이블 생성시 ZONE 테이블 생성에서 에러가 납니다

0

428

2

수업질문 [긴급] 로그인안되는 문제 말씀해주시는 부분 반영해서 최종 질문드립니다

0

259

2

[긴급-재업로드]수업질문 로그인 안 되는 문제

0

234

1

[긴급] 로그인해도 네비게이션 바가 안 바뀌고 있습니다!! 로그인이 안 됩니다 도와주세요

0

275

1

cropper 오류 문제로 질문드립니다..

0

284

2

authentication관련 질문...

0

493

2

안녕하세요 기선님 질문이있습니다..

0

228

1

HTML코드 및 강의 중간자료들

0

677

3

springSecurity

0

519

2

버전 질문입니다.

0

299

1

부트스트랩, css

0

350

2

영속성 컨텍스트 질문

0

245

2

다시 강의를 보니 드는생각..

0

349

2

5:50에 나오는 HTML코드는 어디서 찾을 수 있나여?

0

311

1

세팅 질문있습니다.

0

341

1