inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

API 개발 고급 정리

연관관계 편의 메서드/추가쿼리 관련 질문이 있습니다.

149

HelloWorld

작성한 질문수 0

0

삭제된 글입니다

추가쿼리 spring jpa java 김영한 spring-boot 연관관계편의메서드 JPA

답변 1

1

김영한

안녕하세요. JW Jung님

질문을 여러번 읽어보았지만, 정확하게 어떤 점이 궁금하신지 이해가 잘 되지 않습니다.

마지막에 1,2,3,4를 적어주셔서 이 부분에 제가 아는 한에서 답을 드리겠습니다.

1. 마지막 그림의 위 방법(연관관계 편의 메서드 변형?)이 맞는 방법인까요? 아니라면 Category, Subdivision등 다른 엔티티에서 이를 관리하는 더 좋은 방법이 있을까요? 

-> 코드상 정확하게 안보이지만 cascade를 사용하신 것 같아요. cascade는 가급적 사용하지 마시고 각각의 리포지토리가 엔티티를 관리하는 것이 더 좋아보입니다. cascade는 개인 소유의 엔티티에 사용하는 것을 권장드립니다. (고민이 된다면 사용하지 않는 것이 더 좋습니다.)

2. 마지막 그림의 아래 방법은 맞는 방법인가요? 만약 맞다면 (엔티티 내부라고하더라도) 분기문을 여러개 가지게 되는데 괜찮은 방법인가요?

-> 1번에 말씀드린 내용을 적용하면 어느정도 자연스럽게 해결될 것 같습니다.

3. 서비스 계층에서 삼항 연산자로 분기문을 만든것이 계속 걸리는데 더 좋은 방법이 있을까요?

-> 1번에 말씀드린 내용을 적용하면 어느정도 자연스럽게 해결될 것 같습니다.

4. 캡슐화로 서비스 계층을 더 얇게 만드는 방법이 있을까요?

-> 저는 이정도도 괜찮은 것 같습니다.

감사합니다.

0

HelloWorld

아! 메인 질문은 연관관계 편의 메서드를 올바르게 설정했는지가 질문이었습니다. 수업시간에는 team.getMember( ).add(this)와 같이 해결했는데 저는 null 할당-> new Category 할당 으로 처리를 했습니다.

>> Q. 연관관계를 null로 만들고 다시 할당하면추가쿼리가 안 발생하는데 이렇게 해도 괜찮을까요? 




질문 하려고 자료를 정리하다보니까 과연 저 방법이 맞는 것일까? 에 대해 또 의구심이 들었습니다. 나머지 답변 감사합니다. 추가로 일단 cascade는 다 끊었던 상태입니다. 

@JsonIgnore 이후 Internal Server Error가 발생하지 않습니다.

0

33

2

강의 관련 외 질문입니다.

0

91

2

SpringBoot4 + Hibernate7 모듈 등록 방법 공유

1

113

1

BeanCreationException

0

105

3

Update 후 UpdateMemberResponse 매핑할 때

0

66

1

트랜잭션을 사용 안 할 때 커넥션은 언제 가져오나요?

0

109

2

페이징 + 검색조건 관련해서 질문드립니다.

0

77

1

Query Dsl Q파일 질문입니다.

0

92

1

루트 쿼리라는것은

0

68

1

메서드를 분리하는 기준

0

76

1

findAllWithMemberDelivery 메서드 질문드립니다.

0

123

3

연관관계 매핑을 안 쓸 경우, 사용해야 하는 전략

0

97

2

fetch join과 영속화와 OSIV의 관계

0

101

2

Distinct 사용 전 결과에 대한 의문

0

125

2

레포지토리 계층에서의 트랜잭션에 대한 의문

0

65

1

영속성 컨텍스트 생명주기의 신기한 부분이 있습니다.

0

82

2

dto 필드 속 엔티티 여부

0

67

1

뷰템플릿 사용 시

0

86

2

Result 클래스 관련 질문

0

59

1

@PostConstruct 프록시 관련 질문드립니다

0

91

1

DTO 대신 Form 사용은 안되나요?

0

142

1

OSIV ON 상태일 때

0

102

1

fetch join VS fetch join 페이징 궁금증

0

192

2

양방향 연관관계 알아보는 법?

0

113

1