mybatis 사용
api 스펙 정의하고
도메인은 테이블과 1:1매핑임
필요한 데이터가 테이블 조인해서 가져오면 어떻게 함?
1. 필요한 데이터 dto 하나로 퉁친다
2. 도메인, dto 여러개 만들고 도메인에 dto 넣고 반환한다.
더 좋은 방법있으면 추천 좀
생각해보니까 2번은 아닌듯
mybatis 사용
api 스펙 정의하고
도메인은 테이블과 1:1매핑임
필요한 데이터가 테이블 조인해서 가져오면 어떻게 함?
1. 필요한 데이터 dto 하나로 퉁친다
2. 도메인, dto 여러개 만들고 도메인에 dto 넣고 반환한다.
더 좋은 방법있으면 추천 좀
생각해보니까 2번은 아닌듯
필요한 만큼 dto 만드삼. 도메인 하나로
그게 무슨말이죠
dto가 데이터 주고받는 객체니까 입출력에 필요한 개수만큼 dto를 만듬. 사실 mybatis는 안써봣는데 도메인으로 데이터를 db에서 불러오고 그걸 알맞은 객체로 바꿔주게 되는ㄴ데 그때 dto 쓰는거잔슴
님 jpa기준으로 설명하는거임? 내 문제는 여러 테이블 조인된 상태로 들어오기 때문에 도메인 하나로 매핑이 안 됨
아 jpa랑 다르구나 ㅈㅅ
jpa는 그럼 미리 연관관계 다 설정하면 도메인 하나로 알아서 다 매핑시켜줌?
당연하죠 1대다 연관관계 설정하면 도메인에 객체 배열식으로 바로 가져다 쓸 수 있음
도메인 하나라는게 이해가 잘 안가는데 여러 조인된 테이블 데이터가 필요하면 도메인 하나로 땡겨오면 여러 도메인에 매핑된 결과를 가져온다는거지? 이게 그 N+1이라는 건가
예를 들어서 글쓴이 도메인과 글 도메인이 있으면 글쓴이와 글은 1:다 관계잔슴. 그럼 레포지토리에서 글쓴이를 조회하면 jpa 레이어에서 자동으로 연관관계 설정해논 글 목록까지 배열 형식으로 반환해줌
ㅇㅇ 고마움 이해함 마지막으로 질문 하나만 더 그러면 dto 역할은 클라이언트에게 응답할 때 도메인으로 가져온 값을 api스펙에 맞게 넣어주고 반환하는 거 맞지?
네 반대로 post 입력으로 쓰이는 객체로도 만듬 저는
굿 jpa가 갓이긴하네
JSON 스트링 리턴안댐 ㅇㅅㅇ?
resultmap으로 2번하면 되는거아님?
어떻게 2번 한다는거죠