2023-11-03 회의록 #60
mewluee
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Query dsl 을 언제 쓰는가?
조인이나 복잡한 쿼리
-> jpql 쿼리문이 너무 길어져서 보기 힘들면 사용한다.
조인하지 않고 간단한 select문일땐 사용하지 않는다.
-> dsl은 명확하게 명시를 해준다. (계층이 하나 더 생기는 단점)
-> 간단하지만 3번처럼 공통 작업이 필요하면 사용해도 된다.
3 jpa 네이밍으로부터 벗어날 수 있다. (사람한테 이해하기 좋은 메서드명을 쓸 수 있다)
-> jpa 네이밍으로 한계가 있다.
-> 서비스 코드가 간단해진다
-> 서비스층에서 처리할지, DB에서 처리할지. (스타일차이)
참고하고 있는 프로젝트의 Query dsl 문장에서 의문점을 발견
Search를 상속받고, Member 객체를 @OnetoOne으로 멤버필드로 갖고있는 SearchMember와 Member를 inner 조인을 하고 있었다. -> 왜 inner 조인을 했는가?
jpa는 @OnetoOne, @manytoone, @onetomany 그리고 상속관계임을 알려준다면 자동으로 inner join으로 테이블을 만들어준다.
[결론]
내부적으로 inner join하기 때문에 굳이 할 필요없어서 제거.
Query dsl에서 fetch() 메서드를 쓰는 이유
쓰기 지연 SQL 저장소에 쿼리문이 저장됬다가 fetch()문을 만나면 DB에 전송된다.
왜 Query를 모아서 날리는 걸까?
한번에 날리기 때문에 좀 더 최적화하여 쿼리를 날려줄 수 있다.
응답 데이터 방향성
현재 프론트엔드가 없이 백엔드 3명이서 프로젝트 진행중
[결론]
응답 데이터는 2번을 기준으로 보내기로 결정.
Beta Was this translation helpful? Give feedback.
All reactions