Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- SWEA
- DP
- 그리디
- 다익스트라
- JPA
- 코딩테스트실력진단
- DFS
- 부분수열의합2
- 싸피
- SSAFY
- 다시보기
- 알고리즘
- BFS
- 완전탐색
- 그래프
- 코드트리
- 자바
- JUnit
- 코테
- 백준
- 유니온파인드
- Union Find
- 알고리즘기본개념
- 완탐
- Java
- database
- 기본유형
- Spring
- 코딩테스트
- 트러블슈팅
Archives
- Today
- Total
HwangHub
[Spring] 패키지 구성 : repository와 query 분리 본문
이제부터 언급할 repository는 entity를 조회하는 dao 코드를 담는 패키지, 그리고 dto와 관련되어 화면을 구성하는 레벨의 모듈을 담는 패키지는 query라고 한다.
위와 같이, repository와 query를 구분할 경우, 관심사를 분리하는 효과를 얻을 수 있어 유지보수성이 증가한다.
주로 entity를 직접 조회하고 수정하는 dao의 경우에는 핵심 비즈니스 로직을 수행할 때 사용되며, query와 같은 경우는 클라이언트로 반환하기 위해 dto를 사용한다. 즉, 화면 구성을 위한 object를 다루기 때문에 화면과 관련된 것들을 파악할 때에는 query 패키지만 확인해 주면 된다.
이렇게 관심사를 명확히 분리하면,
1. 향후 문제가 발생했을 때 파악하기도 용이할 뿐만 아니라,
2. 핵심 비즈니스 로직을 수행하기 위한 라이프사이클과 화면 구성을 위한 라이프사이클이 다르므로 이에 대한 이점도 확보할 수 있다.
query 패키지가 query인 이유는, 화면과 관련된 것들을 일반적으로 쿼리문과 밀접하게 연관된 경우가 많기 때문이다.
'무엇을 합니다 > 기술이해' 카테고리의 다른 글
[JPA] OSIV (0) | 2023.06.28 |
---|---|
[JPA] 연관관계 컬렉션 필드 조회 최적화 : 엔티티/DTO 조회 방식 (0) | 2023.06.28 |
[Java] 문자열 비교 ==, equals() (0) | 2023.06.28 |
[JPA] 컬렉션 LAZY Loading시 페이징 기법 (0) | 2023.06.27 |
[JPA] (컬렉션) JOIN FETCH (0) | 2023.06.27 |
Comments