inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바 ORM 표준 JPA 프로그래밍 - 기본편

기본값 타입

DTO관련 질뮨드립니다

해결된 질문

492

kim

작성한 질문수 43

0

Member란 엔터티에 컬럼 a, b, c, d가 있습니다

selectA 는 a,b 를 보여주고

selectB 는 b, a를 불러주고

selectC는 a,b,c를 불러온다고 가정하였을 때

1. select A, B, C 에 대해서 다 DTO객체를 만들어주는 것이 괜찮을까요?

2. select A, B는 컬럼 순서만 다를뿐인데 하나의 DTO로 리턴해줄 때 순서를 바꿔줄 수 있나요?

3. 아님 a, b, c를 포함한 DTO를 만들어서 사용하는것이 나을까요? 이렇게하면 라턴해줄 때 null값( selectA를 호출한다면 필드c 가 null값) 생기어서요(프론트엔드 입장에서는 사용할 필드만 보고 싶어질수도 있을거같아서요

JPA java

답변 4

2

김영한

아 감사합니다 어느정도 갯수의 차이에서는 dto로 다 채워서 주는것도 괜찮다는 말씀이시죠? 

-> 네 어느정도 갯수 차이는 dto로 다 채워서 주어도 됩니다^^

그리고 전 dto로만 생성해서 매핑할 생각을 했는데 api로도 분리는 잘 이해가 안갑니다

-> api로 분리는 안드로이드 같은 APP에서 REST API를 요구할 때 이야기 이야기입니다^^

제가 궁금증이 많아서 ^^; 혼자서 토이프로젝트를 만들어보는데 단순 기능 구현보다는 몬가 최적화를 해가면서 만들어보고 싶어서요. 답변 항상 감드립니다~

-> 단순히 이론적인 내용을 머리로 익히는 것 보다는 토이프로젝트 같은걸로 고민하면서 코드를 짜보는게 확실히 더 남더라구요^^

좋은하루 되세요 :)

1

kim

감사합니다 ^^

1

김영한

안녕하세요. kim님

2번 먼저 말씀드리면, 컬럼의 순서를 변경하든 안하든, 순서를 기반으로 동작하는 것이 아니라, 이름을 기반으로 동작하니 순서를 변경하는 것은 의미가 없습니다.

1번과 3번은 같이 말씀드릴께요.

이게 상황에 따라서 다른데, 차이나는 필드가 정말 몇게 안될 수 도 있고, 차이나는 필드가 수십개가 될 수 있는 등등...

저는 보통 단순한 상황에서는 실용적인 관점에서 a,b,c 모두를 제공하는 DTO 하나로 표준 API를 만들어서 제공합니다. 단! 이렇게 제공할 때는 그 값이 항상 모두 있어야 합니다.

그런데 실무에서 정말 복잡한 상황이되면, 필드가 수십개가 넘어가고... 그 차이고 너무 많고...

이 경우 보통 어느정도 함께 사용할 수 있는 공용 API, DTO를 하나 만들고, 차이가 많이 나는 것은 따로 API, DTO를 만들어서 정리합니다.

마지막으로

API는 사용자가 클라이언트이므로 클라이언트가 원하는 스펙을 제공하는게 맞다고 생각합니다. 그런데 API를 너무 잘게 쪼개면 클라이언트도, API를 제공하는 서버도 둘다 관리해야할 API가 너무 많아지기 때문에, 어느정도는 공통 API를 제공하는 식으로 같이 협의해서 풀어가는게 중요하다 생각합니다.

감사합니다.

0

kim

아 감사합니다 어느정도 갯수의 차이에서는 dto로 다 채워서 주는것도 괜찮다는 말씀이시죠? 

그리고 전 dto로만 생성해서 매핑할 생각을 했는데 api로도 분리는 잘 이해가 안갑니다

제가 궁금증이 많아서 ^^; 혼자서 토이프로젝트를 만들어보는데 단순 기능 구현보다는 몬가 최적화를 해가면서 만들어보고 싶어서요. 답변 항상 감드립니다~

inheritance startegy 선택시 고려사항

0

3

0

Entity 동등성 비교

0

12

1

실무 조언 관련 질문입니다.

0

41

1

H2데이터베이스 파일 생성

0

51

2

서브쿼리 강의에서 ALL 예시 관련 질문드립니다.

0

49

2

수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?

0

48

1

JPQL 메소드와 락

0

52

1

Delivery @OneToOne

0

57

1

17강 4~5분대 테이블 값 조회가 안됩니다.

0

89

2

UnsupportedOperationException 발생

0

82

3

H2 Database 연결이 안됩니다.

0

89

2

연관관계 매핑 질문드립니다.

0

82

2

h2데이터베이스 실행오류

0

105

2

persistence.xml

0

103

2

양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?

0

77

1

영속성 컨텍스트

0

62

1

JPA 프록시

0

90

1

Native Query와 MyBatis

0

63

1

영속성 컨텍스트는 어떤 메모리에 저장되는건가요?

0

83

1

임베디드 타입 예시 코드 관련 질문

0

112

3

명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요

0

91

3

인텔리제이 패키지 커서 단축키 질문

0

106

2

혹시 현재는 ID 데이터 타입이 String이면 안되나요?

0

136

1

양방향 연관관계 시 연관관계 주인을 설정하는 이유

0

68

1