cycleCheck 테스트가 실패 (event->study->event) 합니다.
미해결
스프링과 JPA 기반 웹 애플리케이션 개발
안녕하세요! 구조 정리 따라하다가 막힌 부분이 있어서 질문 드립니다. cycleCheck 테스트에서 event->study->event 순환참조를 하고 있다고 faild 처리 되었는데요. 제가 보기엔 event 에서 study만 참조하고 있는것 같은데 어딜를 더 보아야할지 모르겠습니다.. 영상과 github 참고하여 따라왔기 때문에 코드도 맞을텐데 어떤 부분이 문제인지 확인해주시면 감사하겠습니다!! github url https://github.com/uzini0418/studyolle-test 에러 로그 java.lang.AssertionError: Architecture Violation [Priority: MEDIUM] - Rule 'slices matching 'com.studyolle.modules.(*)..' should be free of cycles' was violated (1 times): Cycle detected: Slice event -> Slice study -> Slice event Dependencies of Slice event Class <com.studyolle.modules.event.EventControllerTest> extends class <com.studyolle.modules.study.StudyControllerTest> in (EventControllerTest.java:0) Constructor <com.studyolle.modules.event.EventController.<init>(com.studyolle.modules.study.StudyService, com.studyolle.modules.event.EventService, org.modelmapper.ModelMapper, com.studyolle.modules.event.validator.EventValidator, com.studyolle.modules.event.EventRepository, com.studyolle.modules.study.StudyRepository)> has parameter of type <com.studyolle.modules.study.StudyRepository> in (EventController.java:0) Constructor <com.studyolle.modules.event.EventController.<init>(com.studyolle.modules.study.StudyService, com.studyolle.modules.event.EventService, org.modelmapper.ModelMapper, com.studyolle.modules.event.validator.EventValidator, com.studyolle.modules.event.EventRepository, com.studyolle.modules.study.StudyRepository)> has parameter of type <com.studyolle.modules.study.StudyService> in (EventController.java:0) Field <com.studyolle.modules.event.Event.study> has type <com.studyolle.modules.study.Study> in (Event.java:0) Field <com.studyolle.modules.event.EventController.studyRepository> has type <com.studyolle.modules.study.StudyRepository> in (EventController.java:0) Field <com.studyolle.modules.event.EventController.studyService> has type <com.studyolle.modules.study.StudyService> in (EventController.java:0) Method <com.studyolle.modules.event.Event.getStudy()> has return type <com.studyolle.modules.study.Study> in (Event.java:0) Method <com.studyolle.modules.event.Event.setStudy(com.studyolle.modules.study.Study)> has parameter of type <com.studyolle.modules.study.Study> in (Event.java:0) Method <com.studyolle.modules.event.EventControllerTest.createEvent(java.lang.String, com.studyolle.modules.event.EventType, int, com.studyolle.modules.study.Study, com.studyolle.modules.account.Account)> has parameter of type <com.studyolle.modules.study.Study> in (EventControllerTest.java:0) Method <com.studyolle.modules.event.EventRepository.findByStudyOrderByStartDateTime(com.studyolle.modules.study.Study)> has parameter of type <com.studyolle.modules.study.Study> in (EventRepository.java:0) Method <com.studyolle.modules.event.EventService.createEvent(com.studyolle.modules.event.Event, com.studyolle.modules.study.Study, com.studyolle.modules.account.Account)> has parameter of type <com.studyolle.modules.study.Study> in (EventService.java:0) Constructor <com.studyolle.modules.event.EventControllerTest.<init>()> calls constructor <com.studyolle.modules.study.StudyControllerTest.<init>()> in (EventControllerTest.java:19) Method <com.studyolle.modules.event.EventControllerTest.newEnrollment_to_FCFS_event_accepted()> calls method <com.studyolle.modules.study.Study.getPath()> in (EventControllerTest.java:33) Method <com.studyolle.modules.event.EventControllerTest.newEnrollment_to_FCFS_event_accepted()> calls method <com.studyolle.modules.study.Study.getPath()> in (EventControllerTest.java:36) Method <com.studyolle.modules.event.EventController.newEventForm(com.studyolle.modules.account.Account, java.lang.String, org.springframework.ui.Model)> calls method <com.studyolle.modules.study.StudyService.getStudyToUpdateStatus(com.studyolle.modules.account.Account, java.lang.String)> in (EventController.java:42) Method <com.studyolle.modules.event.EventController.newEventSubmit(com.studyolle.modules.account.Account, java.lang.String, com.studyolle.modules.event.form.EventForm, org.springframework.validation.Errors, org.springframework.ui.Model)> calls method <com.studyolle.modules.study.StudyService.getStudyToUpdateStatus(com.studyolle.modules.account.Account, java.lang.String)> in (EventController.java:52) Method <com.studyolle.modules.event.EventControllerTest.newEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.study.Study.getPath()> in (EventControllerTest.java:55) Method <com.studyolle.modules.event.EventControllerTest.newEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.study.Study.getPath()> in (EventControllerTest.java:58) Method <com.studyolle.modules.event.EventController.newEventSubmit(com.studyolle.modules.account.Account, java.lang.String, com.studyolle.modules.event.form.EventForm, org.springframework.validation.Errors, org.springframework.ui.Model)> calls method <com.studyolle.modules.study.Study.getEncodedPath()> in (EventController.java:60) Method <com.studyolle.modules.event.EventController.getEvent(com.studyolle.modules.account.Account, java.lang.String, com.studyolle.modules.event.Event, org.springframework.ui.Model)> calls method <com.studyolle.modules.study.StudyRepository.findStudyWithManagersByPath(java.lang.String)> in (EventController.java:68) Method <com.studyolle.modules.event.EventController.viewStudyEvents(com.studyolle.modules.account.Account, java.lang.String, org.springframework.ui.Model)> calls method <com.studyolle.modules.study.StudyService.getStudy(java.lang.String)> in (EventController.java:74) Method <com.studyolle.modules.event.EventControllerTest.accepted_account_cancelEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.study.Study.getPath()> in (EventControllerTest.java:82) Method <com.studyolle.modules.event.EventControllerTest.accepted_account_cancelEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.study.Study.getPath()> in (EventControllerTest.java:85) Method <com.studyolle.modules.event.EventController.updateEventForm(com.studyolle.modules.account.Account, java.lang.String, com.studyolle.modules.event.Event, org.springframework.ui.Model)> calls method <com.studyolle.modules.study.StudyService.getStudyToUpdate(com.studyolle.modules.account.Account, java.lang.String)> in (EventController.java:98) Method <com.studyolle.modules.event.EventController.updateEventSubmit(com.studyolle.modules.account.Account, java.lang.String, com.studyolle.modules.event.Event, com.studyolle.modules.event.form.EventForm, org.springframework.validation.Errors, org.springframework.ui.Model)> calls method <com.studyolle.modules.study.StudyService.getStudyToUpdate(com.studyolle.modules.account.Account, java.lang.String)> in (EventController.java:110) Method <com.studyolle.modules.event.EventControllerTest.not_accepterd_account_cancelEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.study.Study.getPath()> in (EventControllerTest.java:110) Method <com.studyolle.modules.event.EventControllerTest.not_accepterd_account_cancelEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.study.Study.getPath()> in (EventControllerTest.java:113) Method <com.studyolle.modules.event.EventController.updateEventSubmit(com.studyolle.modules.account.Account, java.lang.String, com.studyolle.modules.event.Event, com.studyolle.modules.event.form.EventForm, org.springframework.validation.Errors, org.springframework.ui.Model)> calls method <com.studyolle.modules.study.Study.getEncodedPath()> in (EventController.java:122) Method <com.studyolle.modules.event.EventController.cancelEvent(com.studyolle.modules.account.Account, java.lang.String, com.studyolle.modules.event.Event)> calls method <com.studyolle.modules.study.StudyService.getStudyToUpdateStatus(com.studyolle.modules.account.Account, java.lang.String)> in (EventController.java:127) Method <com.studyolle.modules.event.EventController.cancelEvent(com.studyolle.modules.account.Account, java.lang.String, com.studyolle.modules.event.Event)> calls method <com.studyolle.modules.study.Study.getEncodedPath()> in (EventController.java:129) Method <com.studyolle.modules.event.EventController.newEnrollment(com.studyolle.modules.account.Account, java.lang.String, com.studyolle.modules.event.Event)> calls method <com.studyolle.modules.study.StudyService.getStudyToEnroll(java.lang.String)> in (EventController.java:134) Method <com.studyolle.modules.event.EventController.newEnrollment(com.studyolle.modules.account.Account, java.lang.String, com.studyolle.modules.event.Event)> calls method <com.studyolle.modules.study.Study.getEncodedPath()> in (EventController.java:136) Method <com.studyolle.modules.event.EventControllerTest.newEnrollment_to_CONFIMATIVE_event_not_accepted()> calls method <com.studyolle.modules.study.Study.getPath()> in (EventControllerTest.java:136) Method <com.studyolle.modules.event.EventControllerTest.newEnrollment_to_CONFIMATIVE_event_not_accepted()> calls method <com.studyolle.modules.study.Study.getPath()> in (EventControllerTest.java:139) Method <com.studyolle.modules.event.EventController.cancelEnrollment(com.studyolle.modules.account.Account, java.lang.String, com.studyolle.modules.event.Event)> calls method <com.studyolle.modules.study.StudyService.getStudyToEnroll(java.lang.String)> in (EventController.java:141) Method <com.studyolle.modules.event.EventController.cancelEnrollment(com.studyolle.modules.account.Account, java.lang.String, com.studyolle.modules.event.Event)> calls method <com.studyolle.modules.study.Study.getEncodedPath()> in (EventController.java:143) Method <com.studyolle.modules.event.EventController.acceptEnrollment(com.studyolle.modules.account.Account, java.lang.String, com.studyolle.modules.event.Event, com.studyolle.modules.event.Enrollment)> calls method <com.studyolle.modules.study.StudyService.getStudyToUpdate(com.studyolle.modules.account.Account, java.lang.String)> in (EventController.java:149) Method <com.studyolle.modules.event.EventController.acceptEnrollment(com.studyolle.modules.account.Account, java.lang.String, com.studyolle.modules.event.Event, com.studyolle.modules.event.Enrollment)> calls method <com.studyolle.modules.study.Study.getEncodedPath()> in (EventController.java:151) Method <com.studyolle.modules.event.EventController.rejectEnrollment(com.studyolle.modules.account.Account, java.lang.String, com.studyolle.modules.event.Event, com.studyolle.modules.event.Enrollment)> calls method <com.studyolle.modules.study.StudyService.getStudyToUpdate(com.studyolle.modules.account.Account, java.lang.String)> in (EventController.java:157) Method <com.studyolle.modules.event.EventController.rejectEnrollment(com.studyolle.modules.account.Account, java.lang.String, com.studyolle.modules.event.Event, com.studyolle.modules.event.Enrollment)> calls method <com.studyolle.modules.study.Study.getEncodedPath()> in (EventController.java:159) Method <com.studyolle.modules.event.EventController.checkInEnrollment(com.studyolle.modules.account.Account, java.lang.String, com.studyolle.modules.event.Event, com.studyolle.modules.event.Enrollment)> calls method <com.studyolle.modules.study.StudyService.getStudyToUpdate(com.studyolle.modules.account.Account, java.lang.String)> in (EventController.java:165) Method <com.studyolle.modules.event.EventController.checkInEnrollment(com.studyolle.modules.account.Account, java.lang.String, com.studyolle.modules.event.Event, com.studyolle.modules.event.Enrollment)> calls method <com.studyolle.modules.study.Study.getEncodedPath()> in (EventController.java:167) Method <com.studyolle.modules.event.EventController.cancelCheckInEnrollment(com.studyolle.modules.account.Account, java.lang.String, com.studyolle.modules.event.Event, com.studyolle.modules.event.Enrollment)> calls method <com.studyolle.modules.study.StudyService.getStudyToUpdate(com.studyolle.modules.account.Account, java.lang.String)> in (EventController.java:173) Method <com.studyolle.modules.event.EventController.cancelCheckInEnrollment(com.studyolle.modules.account.Account, java.lang.String, com.studyolle.modules.event.Event, com.studyolle.modules.event.Enrollment)> calls method <com.studyolle.modules.study.Study.getEncodedPath()> in (EventController.java:175) Dependencies of Slice study Field <com.studyolle.modules.study.EventControllerTest.enrollmentRepository> has type <com.studyolle.modules.event.EnrollmentRepository> in (StudySettingControllerTest.java:0) Field <com.studyolle.modules.study.EventControllerTest.eventService> has type <com.studyolle.modules.event.EventService> in (StudySettingControllerTest.java:0) Method <com.studyolle.modules.study.EventControllerTest.createEvent(java.lang.String, com.studyolle.modules.event.EventType, int, com.studyolle.modules.study.Study, com.studyolle.modules.account.Account)> has parameter of type <com.studyolle.modules.event.EventType> in (StudySettingControllerTest.java:0) Method <com.studyolle.modules.study.EventControllerTest.createEvent(java.lang.String, com.studyolle.modules.event.EventType, int, com.studyolle.modules.study.Study, com.studyolle.modules.account.Account)> has return type <com.studyolle.modules.event.Event> in (StudySettingControllerTest.java:0) Method <com.studyolle.modules.study.EventControllerTest.isAccepted(com.studyolle.modules.account.Account, com.studyolle.modules.event.Event)> has parameter of type <com.studyolle.modules.event.Event> in (StudySettingControllerTest.java:0) Method <com.studyolle.modules.study.EventControllerTest.isNotAccepted(com.studyolle.modules.account.Account, com.studyolle.modules.event.Event)> has parameter of type <com.studyolle.modules.event.Event> in (StudySettingControllerTest.java:0) Method <com.studyolle.modules.study.EventControllerTest.newEnrollment_to_FCFS_event_accepted()> gets field <com.studyolle.modules.event.EventType.FCFS> in (StudySettingControllerTest.java:42) Method <com.studyolle.modules.study.EventControllerTest.newEnrollment_to_FCFS_event_accepted()> calls method <com.studyolle.modules.event.Event.getId()> in (StudySettingControllerTest.java:44) Method <com.studyolle.modules.study.EventControllerTest.newEnrollment_to_FCFS_event_accepted()> calls method <com.studyolle.modules.event.Event.getId()> in (StudySettingControllerTest.java:47) Method <com.studyolle.modules.study.EventControllerTest.newEnrollment_to_FCFS_event_not_accepted()> gets field <com.studyolle.modules.event.EventType.FCFS> in (StudySettingControllerTest.java:59) Method <com.studyolle.modules.study.EventControllerTest.newEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.event.EventService.newEnrollment(com.studyolle.modules.event.Event, com.studyolle.modules.account.Account)> in (StudySettingControllerTest.java:63) Method <com.studyolle.modules.study.EventControllerTest.newEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.event.EventService.newEnrollment(com.studyolle.modules.event.Event, com.studyolle.modules.account.Account)> in (StudySettingControllerTest.java:64) Method <com.studyolle.modules.study.EventControllerTest.newEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.event.Event.getId()> in (StudySettingControllerTest.java:66) Method <com.studyolle.modules.study.EventControllerTest.newEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.event.Event.getId()> in (StudySettingControllerTest.java:69) Method <com.studyolle.modules.study.EventControllerTest.accepted_account_cancelEnrollment_to_FCFS_event_not_accepted()> gets field <com.studyolle.modules.event.EventType.FCFS> in (StudySettingControllerTest.java:83) Method <com.studyolle.modules.study.EventControllerTest.accepted_account_cancelEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.event.EventService.newEnrollment(com.studyolle.modules.event.Event, com.studyolle.modules.account.Account)> in (StudySettingControllerTest.java:85) Method <com.studyolle.modules.study.EventControllerTest.accepted_account_cancelEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.event.EventService.newEnrollment(com.studyolle.modules.event.Event, com.studyolle.modules.account.Account)> in (StudySettingControllerTest.java:86) Method <com.studyolle.modules.study.EventControllerTest.accepted_account_cancelEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.event.EventService.newEnrollment(com.studyolle.modules.event.Event, com.studyolle.modules.account.Account)> in (StudySettingControllerTest.java:87) Method <com.studyolle.modules.study.EventControllerTest.accepted_account_cancelEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.event.Event.getId()> in (StudySettingControllerTest.java:93) Method <com.studyolle.modules.study.EventControllerTest.accepted_account_cancelEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.event.Event.getId()> in (StudySettingControllerTest.java:96) Method <com.studyolle.modules.study.EventControllerTest.accepted_account_cancelEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.event.EnrollmentRepository.findByEventAndAccount(com.studyolle.modules.event.Event, com.studyolle.modules.account.Account)> in (StudySettingControllerTest.java:100) Method <com.studyolle.modules.study.EventControllerTest.not_accepterd_account_cancelEnrollment_to_FCFS_event_not_accepted()> gets field <com.studyolle.modules.event.EventType.FCFS> in (StudySettingControllerTest.java:111) Method <com.studyolle.modules.study.EventControllerTest.not_accepterd_account_cancelEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.event.EventService.newEnrollment(com.studyolle.modules.event.Event, com.studyolle.modules.account.Account)> in (StudySettingControllerTest.java:113) Method <com.studyolle.modules.study.EventControllerTest.not_accepterd_account_cancelEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.event.EventService.newEnrollment(com.studyolle.modules.event.Event, com.studyolle.modules.account.Account)> in (StudySettingControllerTest.java:114) Method <com.studyolle.modules.study.EventControllerTest.not_accepterd_account_cancelEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.event.EventService.newEnrollment(com.studyolle.modules.event.Event, com.studyolle.modules.account.Account)> in (StudySettingControllerTest.java:115) Method <com.studyolle.modules.study.EventControllerTest.not_accepterd_account_cancelEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.event.Event.getId()> in (StudySettingControllerTest.java:121) Method <com.studyolle.modules.study.EventControllerTest.not_accepterd_account_cancelEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.event.Event.getId()> in (StudySettingControllerTest.java:124) Method <com.studyolle.modules.study.EventControllerTest.not_accepterd_account_cancelEnrollment_to_FCFS_event_not_accepted()> calls method <com.studyolle.modules.event.EnrollmentRepository.findByEventAndAccount(com.studyolle.modules.event.Event, com.studyolle.modules.account.Account)> in (StudySettingControllerTest.java:128) Method <com.studyolle.modules.study.EventControllerTest.isNotAccepted(com.studyolle.modules.account.Account, com.studyolle.modules.event.Event)> calls method <com.studyolle.modules.event.Enrollment.isAccepted()> in (StudySettingControllerTest.java:132) Method <com.studyolle.modules.study.EventControllerTest.isNotAccepted(com.studyolle.modules.account.Account, com.studyolle.modules.event.Event)> calls method <com.studyolle.modules.event.EnrollmentRepository.findByEventAndAccount(com.studyolle.modules.event.Event, com.studyolle.modules.account.Account)> in (StudySettingControllerTest.java:132) Method <com.studyolle.modules.study.EventControllerTest.isAccepted(com.studyolle.modules.account.Account, com.studyolle.modules.event.Event)> calls method <com.studyolle.modules.event.Enrollment.isAccepted()> in (StudySettingControllerTest.java:136) Method <com.studyolle.modules.study.EventControllerTest.isAccepted(com.studyolle.modules.account.Account, com.studyolle.modules.event.Event)> calls method <com.studyolle.modules.event.EnrollmentRepository.findByEventAndAccount(com.studyolle.modules.event.Event, com.studyolle.modules.account.Account)> in (StudySettingControllerTest.java:136) Method <com.studyolle.modules.study.EventControllerTest.newEnrollment_to_CONFIMATIVE_event_not_accepted()> gets field <com.studyolle.modules.event.EventType.CONFIRMATIVE> in (StudySettingControllerTest.java:145) Method <com.studyolle.modules.study.EventControllerTest.newEnrollment_to_CONFIMATIVE_event_not_accepted()> calls method <com.studyolle.modules.event.Event.getId()> in (StudySettingControllerTest.java:147) Method <com.studyolle.modules.study.EventControllerTest.newEnrollment_to_CONFIMATIVE_event_not_accepted()> calls method <com.studyolle.modules.event.Event.getId()> in (StudySettingControllerTest.java:150) Method <com.studyolle.modules.study.EventControllerTest.createEvent(java.lang.String, com.studyolle.modules.event.EventType, int, com.studyolle.modules.study.Study, com.studyolle.modules.account.Account)> calls constructor <com.studyolle.modules.event.Event.<init>()> in (StudySettingControllerTest.java:157) Method <com.studyolle.modules.study.EventControllerTest.createEvent(java.lang.String, com.studyolle.modules.event.EventType, int, com.studyolle.modules.study.Study, com.studyolle.modules.account.Account)> calls method <com.studyolle.modules.event.Event.setEventType(com.studyolle.modules.event.EventType)> in (StudySettingControllerTest.java:158) Method <com.studyolle.modules.study.EventControllerTest.createEvent(java.lang.String, com.studyolle.modules.event.EventType, int, com.studyolle.modules.study.Study, com.studyolle.modules.account.Account)> calls method <com.studyolle.modules.event.Event.setLimitOfEnrollments(java.lang.Integer)> in (StudySettingControllerTest.java:159) Method <com.studyolle.modules.study.EventControllerTest.createEvent(java.lang.String, com.studyolle.modules.event.EventType, int, com.studyolle.modules.study.Study, com.studyolle.modules.account.Account)> calls method <com.studyolle.modules.event.Event.setTitle(java.lang.String)> in (StudySettingControllerTest.java:160) Method <com.studyolle.modules.study.EventControllerTest.createEvent(java.lang.String, com.studyolle.modules.event.EventType, int, com.studyolle.modules.study.Study, com.studyolle.modules.account.Account)> calls method <com.studyolle.modules.event.Event.setCreatedDateTime(java.time.LocalDateTime)> in (StudySettingControllerTest.java:161) Method <com.studyolle.modules.study.EventControllerTest.createEvent(java.lang.String, com.studyolle.modules.event.EventType, int, com.studyolle.modules.study.Study, com.studyolle.modules.account.Account)> calls method <com.studyolle.modules.event.Event.setEndEnrollmentDateTime(java.time.LocalDateTime)> in (StudySettingControllerTest.java:162) Method <com.studyolle.modules.study.EventControllerTest.createEvent(java.lang.String, com.studyolle.modules.event.EventType, int, com.studyolle.modules.study.Study, com.studyolle.modules.account.Account)> calls method <com.studyolle.modules.event.Event.setStartDateTime(java.time.LocalDateTime)> in (StudySettingControllerTest.java:163) Method <com.studyolle.modules.study.EventControllerTest.createEvent(java.lang.String, com.studyolle.modules.event.EventType, int, com.studyolle.modules.study.Study, com.studyolle.modules.account.Account)> calls method <com.studyolle.modules.event.Event.setEndDateTime(java.time.LocalDateTime)> in (StudySettingControllerTest.java:164) Method <com.studyolle.modules.study.EventControllerTest.createEvent(java.lang.String, com.studyolle.modules.event.EventType, int, com.studyolle.modules.study.Study, com.studyolle.modules.account.Account)> calls method <com.studyolle.modules.event.EventService.createEvent(com.studyolle.modules.event.Event, com.studyolle.modules.study.Study, com.studyolle.modules.account.Account)> in (StudySettingControllerTest.java:165) ㅌㅌ
- 순환참조테스트
- spring-boot
- spring
- JPA
- thymeleaf
- java





