발표 내용 중에 custom repository 구현할 때 JPAQueryFactory를 이용해서 QuerydslRepositorySupport를 굳이 상속받지 않아도 되도록 하는 부분 되게 좋은 아이디어인 것 같습니다. 그런데, custom repository 구현을 extends/implements 전부 다 떼고 @Repository 붙여서 별도의 repository 형태로 만드니까 repository를 사용하는 측면에서는 기본 repository와 custom repository의 메서드들을 하나의 인터페이스로 참조할 수 있는 장점이 사라지는 것 같네요. 그래서 custom repository interface를 implements하는 부분은 남겨두고, 대신 custom repository 구현 클래스의 이름을 Spring Data Repository naming rule에 맞도록 `기본 repository + Impl`로 정해주면 Spring Data가 알아서 구현 클래스를 bean으로 등록해주니까 여기에 JPAQueryFactory를 생성자 주입받도록만 해줘도 괜찮지 않을까 생각되네요.
@jojoldu83514 жыл бұрын
크 맞습니다 먼저 좋은 의견 감사합니다 동민님! 말씀하신 방법도 좋은 방법이라 생각합니다. 발표에 다 녹이지 못했는데, 말씀하신대로 기본 JpaRepository의 코드를 확장해서 쓰는게 아니다보니 장점이 하나 사라지는데요. 저희가 이렇게 하게 된 이유가, (저희 프로젝트 특성일수도 있는데) 점점 프로젝트가 커지다 보니, *단일 Entity만을 위한 기능*이 어드민/api/batch 등 기능을 구현할때는 거의 안쓰이게 되었었는데요. 어떤 기능을 구현하기 위해 A/B/C 엔티티를 함께 참조 (혹은 Join) 해야하는데, 이건 A엔티티 Repository의 역할로 봐야할지, B엔티티 Repository의 역할로 봐야할지 모호할때가 계속 발생했었습니다. 그래서 이럴 경우에 특정 Entity를 메인으로 하지 않는 기능이라 판단되는 경우에 위와 같이 JPAQueryFactory 로만 구현된 **서비스 기능에 특화된** 로직에 적극적으로 사용하고 있습니다. 발표에는 이런 부분들을 다 설명하고 가기에 주절주절 하게 되는 것같아서 잘라내게 되었습니다 ㅠ EntityRepository 기능을 확장할때는 동민님 말씀하신 방법을 저희도 고려해봐야겠습니다 :) 좋은 의견 감사합니다!
@MaruhanPark Жыл бұрын
9:16에 select절에 대체하는 부분에 대해서 저렇게 교체하는게 성능차이가 있나요? 어차피 select할때 그 row 전체를 먼저 찾은 뒤에 그 중에서 select에서 명시한 column에 대해서 리턴하는것 아닌가요? 그 row에 있는 column값을 복사하느냐 아니면 파라미터로 전달한 값으로 복사하느냐 거기서 거기일것 같은데
@Son-lm5mf4 ай бұрын
진짜 개꿀팁.❤❤
@kwo2002 Жыл бұрын
오... 너무너무 좋은정보 감사합니다.
@DDD-dh4mk2 жыл бұрын
좋은 내용 너무 감사합니다 향로님! 쵝옹
@김태정-d4i4 жыл бұрын
동욱님 블로그 매일 들어가서 보는데, 역시 영상으로도 최고네요! 좋은 발표 영상 감사합니다 ㅎㅎㅎ
@progress0407 Жыл бұрын
이걸 수년에 흐른뒤에서야 보네요... 아마 제가 개발을 얼마 시작하지 않았을때 봤으면 이해가 안됐겠죠.. ㅠ ㅎㅎ 발표 영상 정말 유익했습니다 많은 노고가 느껴집니다 !!
@sion_food2 жыл бұрын
리얼 mysql과 jpa 책을 추천해주신댔는데, jpa책은 무엇이 있나요?
@호돈-q5u Жыл бұрын
영한 센세 책
@주한규-k8u Жыл бұрын
너무 좋은 팁을 주셔서 감사드립니다. 실무에서 잘 활용해 보겠습니다.
@majortom63014 жыл бұрын
와 믿고 보는 jojoldu님이다!!
@jojoldu83514 жыл бұрын
감사합니다! ㅎㅎ
@진재혁-x1k2 жыл бұрын
꿀팁 감사합니다ㅎㅎ 많이 배웠습니다~
@kabkee3 жыл бұрын
exist 존재도 몰랐지만, 대체 방법도 알려주셔서 너무 좋네요.
@MaruhanPark Жыл бұрын
16:06에 대해서 제가 최근에 궁금했는데요, JPA에서 saveAll 문을 써도 update문 하나로 묶이는게 아니라 loop를 돌면서 각각 save를 부르게 되있더라고요. 근데, batch-size를 등록하면 어차피 db로 쿼리가 나갈때 묶여서 나간다고는하는데 검증이 필요하네요. 그리고 insert를 묶어서 하려면 id를 identity가 아닌 id를 사용해야된다하네요 (identity는 db에다가 id가 무엇인지를 물어보고 만드는것이라 각 row마다 db를 조회하는게 필수라네요). 그래서 querydsl아니고 그냥 jpa의 save/persist/merge 함수에서도 어떻게 해야 묶여서 나가는지 햇갈립니다
@Chundol424 жыл бұрын
좋은내용 영상으로 공유주셔서 감사합니다!
@박지용-k3k6w3 жыл бұрын
11:42 저는 연관관계 매핑할 때 Id 만 존재하는 Entity 를 매핑시켜서 저장하려고 하면 id 만 존재하고 다른 필드가 다르다고 오류가 나는데 왜 그런지 알 수 있을까요 ?
@sight32854 жыл бұрын
감사합니다 항상 잘보고있습니다
@funlifekindol71904 жыл бұрын
와... 정말 이건 꿀팁이네요 너무 감사합니다.
@ebichu81263 жыл бұрын
jOOQ가 아닌 QueryDSL-sql을 사용하시는 이유가 있을까요?
@seankim5873 Жыл бұрын
JPA가 아닌 다른 ORM을 쓰는 입장에서 들어도 뼈가 되고 살이 되는 이야기들 뿐이네요. 대규모 데이터 처리는 아직 머나먼 이야기이다 보니 ORM이 못하는 기능들을 제외하고는 제공하는 기능들을 최대한으로 사용해보자는 방식으로 공부하고 개발하고 있는데 ORM과 Raw SQL의 장단점을 저울질 해봐야 한다는 부분은 덮어두고 지나치던 맹점인 것 같습니다.
@희택-13 жыл бұрын
중간에 쿼리횟수를 확인하는 툴은 뭔지 알 수 있을까요?
@novasuper51184 жыл бұрын
그동안 얼마나 많은 시행착오를 겪으셨을지 느껴지고 그런 꿀팁들을 간명하게 알려주시니 많은 도움이 됩니다. 감사합니다 :D
@keepstudying16024 жыл бұрын
잘 보고 갑니다 :)
@jojoldu83514 жыл бұрын
잘 봐주셔서 감사합니다 :)
@jinKorlover4 жыл бұрын
유익한 강의 감사합니다!
@nick62674 жыл бұрын
저희 서비스도 배치에서는 querydsl이 hibernate로 변환뒤 sql로 변환하는 querydsl 아니라 querydsl -> native sql로 바로 변환해주는 놈을 사용하고 있습니다 그래서 서브쿼리도 사용 가능하구요^^
@Amanda-lc1wo2 жыл бұрын
2:56 동적쿼리(Querydsl)
@noyes23334 жыл бұрын
안녕하세요! 저도 흑두루미님처럼 개인 블로그에 후기 형태로 작성하겠습니다! querydsl 이해에 도움이 많이 되었어요 감사합니다
@swhan943 жыл бұрын
우와 향로님이다
@dionkim4 жыл бұрын
잘봤습니다! 마지막의 DB 공부를 등한시하지 마시라는말 새겨듣고 갑니다~
@bnsauu4 жыл бұрын
Lazy Loading 만 하면 될줄 알았는데 그게 또 아니었군요..ㅠㅠ..감사합니다
@dongmyo4 жыл бұрын
좋은 발표 잘 보고 갑니다. :+1:
@jojoldu83514 жыл бұрын
잘봐주셔서 감사합니다 동민님!
@김기현-l4z6y4 жыл бұрын
너무나도 좋은강의 감사드립니다
@jojoldu83514 жыл бұрын
감사합니다 기현님 ^^
@hyunsusim61432 жыл бұрын
향로님 ㅎㅎ
@reutnndkaddnak4 жыл бұрын
꿀팁 가득한 영상 잘 봤습니다.
@jojoldu83514 жыл бұрын
감사합니다 명주님! :)
@Iam짱구4 жыл бұрын
너무 좋은 내용 감사 드립니다! 혹시 추후에 블로그나 깃허브 같은 곳에 정리해서 보고 싶은데 그럴 경우 문제가 될까요?? 만약 그렇다면 하지 않으려고 합니당!
@jojoldu83514 жыл бұрын
물론 가능합니다 :) 컨퍼런스 후기와 같은 형태로 작성해주신다면 정말 감사한 일이죠 :)
@Iam짱구4 жыл бұрын
@@jojoldu8351 감사합니다! 꼭 컨퍼런스 후기 형태로 작성하도록 하겠습니다! 매번 좋은 내용 감사합니다🙏