inflearn logo
강의

Course

Instructor

Building a Chat Platform Using Spring Boot

About Entity and Lazy Fetch

Package 구성

Resolved

145

whdmsgud8

8 asked

0

domain안에 따로 repository를 만든 이유가 있나요?

mysql spring-boot jpa jwt websocket

Answer 2

0

Hong

이건 개인적인 스타일이라고 생각하셔도 됩니다.
외부에 빼는 방법도 있겠지만, 저는 항상 개발할때마다 API의 경우에는 domain에서만 repository를 주로 사용을 하기 떄문에, 내부에서 관리를 하는 편입니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 조은형님.

Spring Boot로 개발을 진행하면서 프로젝트의 구조를 구성하는 것은 중요한 부분입니다. domain 안에 repository를 따로 만드는 경우는 보통 다음과 같은 이유 때문입니다:

  1. 관심사의 분리: 프로젝트의 각 구성 요소를 명확히 분리하여, 각 부분이 자신의 역할에만 집중할 수 있게 합니다. domain 패키지 내에 repository를 두는 것은 도메인 모델과 해당 모델에 대한 데이터 접근 로직을 함께 관리하여 코드의 응집도를 높일 수 있습니다.

  2. 도메인 중심 설계: 도메인 패키지가 엔티티와 그와 관련된 비즈니스 로직을 포함하고 있기 때문에, 리포지토리도 같은 패키지에 위치하여 자연스럽게 연관된 코드와 결합됩니다. 이는 도메인 중심 설계(DDD; Domain-Driven Design)에서 권장되는 방식입니다.

  3. 유지보수의 편리함: 관련된 코드가 한 곳에 모여 있으면 수정이나 기능 추가 시에도 더 직관적으로 작업할 수 있습니다. 코드 탐색이 쉽고, 변경 시 영향 범위를 파악하기 쉬워집니다.

혹시 추가적으로 이 설명이 완전히 납득되지 않거나 더 궁금한 점이 있다면, 아래 유사한 질문을 확인해 보실 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

패키지 구분에 대해 궁금한게 있습니다

0

7

1

스프링부트 서버 에러나요

0

17

1

코드를 첨부해야하는 이유가 있나요?

0

20

2

74. 데이터 캐시 - 1 (이론) 강의 영상 누락

0

26

1

2026.04에 추가된 강의 시청 불가

0

27

1

비전공자인데 AI가 발전한 요즘 백엔드로 진로를 하고 싶으면 어떤식으로 공부를 해야 하는지 알 수 있을까요???

0

60

1

STOMP에서 메세지를 전송하는 방법에 대해

0

89

1

JWTDecodeException 에러가 나옵니다.

0

144

2

서비스 구동하며 테스트와 디버깅하기 - 1 에서 기동하는 방법

0

118

2

MySQLConfig 관련 질문있습니다.

0

168

2

ChatListResponse에 @Valid을 붙인 이유

0

133

2

checkTokenForRefresh에 대해 궁금한점

0

112

2

Client 파일은 어떤 IDE로 실행시키나요??

0

188

2

독립적인 Transactional을 둔 이유

2

140

2

springdoc이 무슨 설정인가요??

1

120

2

JwtProvider 를 Component 로 선언하신 이유가 궁금합니다.

0

199

2

안녕하세요 연관관계에 대해 질문이 있습니다.

0

143

2

안녕하세요 MySqlConfig 설정에 대해 질문이 있습니다.

0

125

2

MySQL을 미리 설정을 해놔야할까요?

0

174

3

./gradlew clean build 하면 오류가 생깁니다.

0

1176

2

작동하는 방법

0

175

2

@Transactional(transactionManager = "createChatTransacationMansger") 질문 있습니다.

0

182

2

강의 들으면서 블로그에 올려도 될까요?

0

181

2

실 서비스 환경 문의

1

261

2