GPT 에게 한 질문
- 왜 service 계층에서 다시 controller 계층으로 Entity 자체를 넘기는 행위를 지양 해야하는가?
GPT 답변
- Lazy Loading 문제: Entity는 연관된 다른 Entity를 가지고 있을 수 있습니다. 이 경우, Controller에서 Entity를 반환하면 JSON으로 직렬화할 때 Lazy Loading 문제가 발생할 수 있습니다. 이는 연관된 객체를 가져오기 위해 추가적인 데이터베이스 쿼리가 발생할 수 있으며, 이는 성능에 부정적인 영향을 줄 수 있습니다.
- API 설계의 일관성: Entity는 데이터베이스 스키마를 나타내는데 사용되므로 API 응답의 형태로 적합하지 않을 수 있습니다. 또한 Entity는 비즈니스 로직을 담지 않고 있는 경우가 많으므로 API의 일관성을 유지하기 어려울 수 있습니다.
'Java > Spring' 카테고리의 다른 글
[에러] com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'role' at row 1 (0) | 2024.02.28 |
---|---|
Spring Security 방식과 차이 (0) | 2024.02.27 |
@EntityListeners 사용해서 데이터의 저장 시간 넣어주기 (0) | 2024.02.18 |
테스트 방법 이모저모 (0) | 2024.02.16 |
유틸리티 클래스란? (feat. @UtilityClass) (0) | 2024.02.15 |