25%
66,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결실전! Querydsl
연관관계 없는 필드 조인시 타입이 다를때 작성 방법
안녕하세요~ 늘 많은 도움을 받고 있는 수강생 입니다. 개발 하던중 코드표현이 잘 되질 않아 문의 드립니다. 연관 관계가 없는 두개의 필드의 조인시에 한쪽의 엔티는 enum 으로 작성되었고 다른 한쪽은 String 으로 되어 있습니다. 주요테이블과 코드정의 테이블을 조인하여 코드명칭을 출력하는 기능인데 코드로 표현이 잘 안되네요. 방법이 있을까요? 도움 부탁드립니다. 감사합니다. 쿼리 dsl로 컴파일 하니 주요 테이블은 : enumpath, 코드 테이블은 stringpath 로 생성되네요.
- 미해결실전! Querydsl
factory 에 반환값을 담는 객체가 없어요
안녕하세요~ 기존에 작업하시던 분들이 아래와 같이 반환값을 담는 객체가 없게끔 사용하시던데요 이때는 영속성 객체에만 담겨지게 되는것인가요? ex) factory.selectFrom(qSchool).leftJoin(qSchool.students, qStudent).fetch(); // 반환값을 담는 컨테이너가 없음 감사합니다.
- 해결됨실전! Querydsl
Tuple 이라는 객체 질문입니다
QueryDsl 써보셨던 분들이 'Tuple 을 사용하면 영속성컨텍스트의 캐싱을 타지 않는다' 라고 하시는데 매뉴얼을 봐도 해당 내용을 찾을수가 없어서요 Tuple 은 multi-projection 을 위한 컨테이너일 뿐인것 같고 JPA 캐싱 동작과는 관계없는것 같은데.. 어떤게 맞나요? 감사합니다.
- 해결됨실전! Querydsl
select 박스로 검색 기능 질문입니다
활용1편 프로젝트에 Querydsl 활용해서 검색기능을 추가하고있습니다.몇번의 고비가 있었지만 강의를 토대로 기능이 잘 구현됬습니다. 감사합니다~(인프런 솔로몬상 축하드립니다 ㅎㅎ) -------------------------------- 이제 위처럼 select박스로 검색 조건을 선택하고검색어를 입력받는 기능을 구현하고 싶습니다.제가 생각해낸 방법은 option태그의 id값을 서버에서 받고 컨트롤러에서 어떤 option태그가 선택됬는지 식별하고선택한 조건에 맞는 Querydsl 메서드들을 호출하는겁니다.1. 위 생각대로 구현이 가능할까요? 2. 실무에서는 보통 어떤 방식으로 구현하는지 궁금합니다.
- 미해결실전! Querydsl
JPAQueryFactory Config 등록 시 멀티 데이터소스는 어떻게 처리하나요 ??
안녕하세요. 강사님. 아래 처럼 config 로 JPAQueryFactory 를 bean 으로 등록하는데 데이터 소스가 여러개 일 때는 어떻게 처리하나요 ? @Configurationpublic class QuerydslConfig { @PersistenceContext private EntityManager entityManager; @Bean public JPAQueryFactory jpaQueryFactory() { return new JPAQueryFactory(entityManager); }} second 데이터 소스를 사용하는 repository 쪽에 아래와 같이 선언해서 사용은 하긴하는데 repository 마다 아래와 같이 해줘야 해서 불편한데.. 편하게 하는 방법 없을까요 ?? 그리고 아래와 같이하면 autocommit 이나 rollback 등이 second datasource 가 아닌 primary datasource 를 사용하더라고요. @Repositorypublic class SecondDataSourceRepository extends QuerydslRepositorySupport { public SecondDataSourceRepository() { super(SecondDataSourceRepository.class); } @Override @PersistenceContext(unitName = "secondEntityManager") public void setEntityManager(EntityManager entityManager) { super.setEntityManager(entityManager); this.jpaQueryFactory = new JPAQueryFactory(entityManager); } private JPAQueryFactory jpaQueryFactory;}
- 미해결실전! Querydsl
공용DB 데이터 가져올때 질문
안녕하세요. Micro Service 상황에서 공용DB에 접근할때 Entity를 꼭 만들어줘야 하나요? 지금까지의 강의에선 entity를 만듬과 동시에(ddl-auto : create) 실제 DB 테이블과 필드들을 만들어줬기 때문에 기존에 생성되어 있는 DB에 접근할때는 어떻게 해야하는지 모르겠습니다. spring data jpa와 querydsl을 쓰기 위해선 기존에 데이터가 존재하고 사용되는 데이터베이스라고 하더라도 필요한 모든 entity를 만들어 join도 하고 값을 가져와야 되는것이죠?(ddl-auto : create) 이럴경우 entity의 필드를 정확하게 형식도 맞춰서 만들어야 하고 jpa를 쓰지 않았을때보다 공수가 더 많이 드는것 같습니다. 쿼리문 하나면 되니깐요. 올한해 고생많으셨고 감사합니다!!
- 미해결실전! Querydsl
mysql 로 설정하시는 분들을 위한 팁(질문 관련 없음)
mysql 같은 경우 앞서 applicationTest 적고 ( contextload) build하면 에러가 날 수 있습니다. build 시 contextload 있는 부분 지우고 build 하셔야 에러가 안납니다,
- 미해결실전! Querydsl
안녕하세요 선생님~ 빌드 에러 질문입니다
gradle 설정 이하로는 짤려서 안나오지만 선생님 코드를 복붙해서 붙여넣었습니다. 저는 mysql 을 사용하고 있어서 설정했구요,, 근데 빌드 시에 왜 이런 오류가 나는지 모르겠습니다,, Invalid Cache/restart 하고 build 처리까지 해줬습니다,, 선생님의 도움이 필요합니다
- 미해결실전! Querydsl
아키텍처적으로 DTO를 깔끔하기 가져가는 경우
안녕하세요! DTO에서 @QueryProjection을 사용하는 부분에서 DTO를 깔끔하게 가져가고 싶다는 말씀을 하셨습니다. querydsl에 의존성을 줄여 유지보수성을 높이는 경우라고 이해를 했습니다! 실제로 이렇게 가져가야하는 경우 언제인지 예시를 들어주실 수 있을까요? 감사합니다 :)
- 해결됨실전! Querydsl
읽기전용 entity 만들기
안녕하세요. 다른 사람이 만든 DB의 데이터를 가져와서 가공하여 제공하는 API를 만들려고 합니다. spring data jpa + querydsl 환경이고 읽기전용 entity를 만들려고 합니다. 기본편도 들었지만 entity를 만들면서 db도 생성되었기에 읽기전용 entity를 어떻게 만드는지 혹여나 컬럼 혹은 데이터 수정이 되지 않을지, entity를 만들때 모든 컬럼을 다 정의해야되는지 등의 개념을 파악하기가 힘듭니다. 검색해봐도 잘 나오지 않네요. 혹시 답변 가능하실까요? 참고할만한 사이트 혹은 개념이라도 알려주시면 찾아서 해보겠습니다. 감사합니다.
- 미해결실전! Querydsl
연관관계 메소드 질문
안녕하세요 강사님. 기본강의에서도 연관관계 메소드를 공부하여 알고 있었습니다. 양방향 연관관계에서 주인이 되는 쪽을 수정하면 주인이 아닌쪽에서도 자동으로 수정이 되지만 객체의 개념으로 접근하기 위해 양쪽을 모두 수정해주는 연관관계 메소드가 필요한것인가요? 주인이 되는 쪽만 잘 수정해주면 사실상 연관관계 메소드가 필요 없는 것이지요? 그렇다면 changeTeam 연관관계 메소드를 이용해서 팀을 바꾸었을때 바뀐 팀의 멤버를 추가하는 것이 맞다면 반대로 바뀌기 전의 팀에서도 멤버를 제거해야되는것이 아닌가요? 예를 들어서 팀1 -> 멤버1 팀2 -> 멤버2 에서 멤버1을 팀2로 옮길시 연관관계 메소드는 add만 해주시기때문에 팀1 -> 멤버1 팀2 -> 멤버2, 멤버1 로 되어 제거를 해주어야 한다고 생각합니다. 하지만 테스트 결과 주인이 되는 쪽을 수정하니 자동으로 멤버1이 제거가 되더군요. 이 또한 객체의 개념을 살리기 위해 제거가 자동으로 되지만 제거가 되는 remove()를 추가해줘야 할까요?
- 해결됨실전! Querydsl
강사님 컨트롤러에서 Pageable 사용 관련해서 질문드립니다.
강사님 안녕하세요. 강사님 덕분에 JPA 로드맵 강의를 알차게 배웠습니다. 갑자기 뜬금없이 생각났는데 컨트롤러에서 Pageable를 바로 사용할 경우 max size를 제한할 수 있는 방법은 없는건지요. 악의적으로 query String에 size값을 100000000 이렇게 찍어놓고 막무가내로 요청을 여러번 보낸다면 왠지 서버가 뻗을 것 같다는 생각이 들어서요. Pageable에서 최대 사이즈 막을 수 있는 방법이 없다면 따로 VO를 통해서 제한해 줘야하는 건지 궁금해서 질문드립니다.
- 미해결실전! Querydsl
안녕하세요. 테스트 데이터를 Insert하다가 궁금증이 생겨 질문 남깁니다!
Insert 쿼리가 생각보다 많아졌을 때, Batch처리를 통하면 최적화가 가능하다고 알고있습니다. 예를 들어, 세개의 insert를 해야하는 경우 Insert into MEMBER(id, username, age) values(1, "member1", 10); Insert into MEMBER(id, username, age) values(2, "member2", 10); Insert into MEMBER(id, username, age) values(3, "member3", 10); 에서 Insert into MEMBER(id, username, age) values(1, "member1", 10)(2, "member2", 10)(3, "member3", 10); 로 처리하고 싶습니다. 이와 관련하여 구글링한 결과 다양한 방법으로 해결하는 글들을 찾을 수 있었으나 그 방법들이 너무 달라서 실무에서 주로 어떤 방법으로 Batch Insert를 수행하게 되는지 궁금합니다..
- 해결됨실전! Querydsl
벌크 수정 연산후 flush clear
강의 수정,삭제 벌크연산 9분대 부분에 대한 질문입니다. 벌크 연산 수행후 영속성 컨텍스트를 flush해주고 clear해주는 부분에 있어서 질문입니다 db와 영속성 컨텍스트의 정보가 맞지 않기 때문에 벌크 연산 '수행 후' 영속성 컨텍스트의 정보를 clear 하는 것은 이해가 됩니다. 그런데, 영속성컨텍스트에는 벌크연산으로 수정되기 전의 정보가 남아있는데 이를 flush해주면 벌크연산으로 수정된 정보가 다시 바뀌어야하는 것 아닌가요? 다시 생각해보니까 jpa가 항상 엔티티를 관리하면서 엔티티가 변경되면 이를 쿼리 지연 저장소에다가 보관해놓고 이것들을 flush할때 날리는 것인데, 벌크 연산 수행후에는 엔티티 자체는 더티체킹으로 변경이 감지되지 않았으니까 쿼리 지연 저장소에 쿼리가 저장되지 않아서 그런게 이유인가 하는데 맞는 것인지요?
- 미해결실전! Querydsl
안녕하세요 강사님 도와주세요 ㅜㅜ
안녕하세요 강사님 강사님 강의를 1편부터 쿼리 dsl까지 모두 구매하여 공부해온 학생입니다. 그 공부한 내용을 바탕으로 제 스스로 만드는 개인 프로젝트를 하나 만들고 있습니다. 프로젝트를 띄우면 어느 한 페이지에서 css 404에러가 발생하는 것인데.. 도무지 이유를 모르겠습니다. 프로젝트 명 , 위치 등 확인할 곳은 모두 확인해보았습니다. 제가 비전공자 학생이여서 대학 교수님이나 선배 , 친구들에게 물어 볼수도 없습니다.. 아무리 구글링을 해도 이유를 모르겠습니다.. 강사님 제발 도와주세요! 비록 강의 내용의 질문과 거리가 멀지만, 강사님 강의를 모두 구매한 학생으로써.......기댈곳이 강사님 밖에 없습니다.. 강사님 메일 주소를 보내주시면 제 프로젝트를 압축해서 보내든 어떻게 하든.. 도와주실 방법이 없을까요..? 부탁드립니다!
- 미해결실전! Querydsl
안녕하세요 강사님! 정렬에 대해 질문있습니다
강의 잘 듣고있는 학생입니다! 강의를 듣던중 커스텀 정렬에 대해 궁금증이 생겨 질문을 하려고합니다! 만약 MainDto에 String 가격 String 품목 이 있다고 생각해보면, 가격같은 경우는 orderBy(mainDto.가격.desc()) 등으로 쉽게 정렬이 가능한데 품목과 같이 최상품 , 상품 ,중품 등으로 돼있다면 어떻게 내가 원하는대로 정렬할 수 있나요? orderBy(mainDto.품목......) 어떻게 작성 하나요?
- 해결됨실전! Querydsl
질문드립니다.
안녕하세요. 개발에 흥미를 많이 느끼고 있는 초보자인데요. 제가 배우기로는 controller -> service -> repository 상의 패턴방식이 정론(?)이라고 알고 있었는데 실무에서도 이 강의처럼 간단한 쿼리 조회 같은 경우 바로 repositoy 로 비즈니스 로직 없이 건너뛰어도 괜찮은 것인지 궁굼해서 질문 드립니다. 아니면 귀찮더라도 서비스를 만들어서 repository로 타고가는 것이 맞는지도 궁굼하네요. 감사합니다. 좋은 하루 되세요^^
- 미해결실전! Querydsl
querydsl sorting 조건에 대한 질문입니다
안녕하세요, querydsl 강의를 듣고있는 학생입니다. querydsl을 이용하여 토이 프로젝트를 진행하고 있는데, 한가지 여쭤볼 것이 있어서 질문 남깁니다... 다름이 아니라, querydsl의 경우 sorting 조건이 필드네임만 가능한 것일까요?? 저는 entity에서 정의한 함수값을 이용하여 sorting 하고 싶은데 관련 내용을 검색해 보았는데, 딱히 해결 방법이 나오지 않아서 고민중입니다ㅠㅠ 좋은 강의 감사합니다!! 저는 이렇게 board entity에서 정의한 함수 getRemainRecruitNumber 값에 따라 sorting 하려는 시도 중입니다.. public class Board extends BaseEntity { ... public int getRemainRecruitNumber() { return this.recruitCount - getApprovedCount(); } }
- 해결됨실전! Querydsl
강사님 where 다중 파라미터를 이용한 동적 쿼리 사용에 대한 질문입니다.
강사님 강의 잘 보고 있습니다. 다름아니라, where 다중 파라미터를 사용하면 가독성이 높아지는 건 이해했습니다. 영상 8분경의 메소드 private BooleanExpression allEq(String userNameCond, Integer ageCond) { return userNameEq(userNameCond).and(ageEq(ageCond)); } 에 대한 질문인데요 문제는 userNameCond가 null일 경우 userNameEq가 null을 반환하기 때문에 BooleanExpression으로 체이닝을 할 수가 없는데 혹시 이럴경우 null 걱정없이 강제로 체이닝 하는 방법은 없을까요? BooleanExpression을 체이닝 하려고 해봤는데 추상클래스라 객체 생성이 안되네요
- 미해결실전! Querydsl
Team 정보 가져올 때 Team 에 속한 회원들도 같이 가져오고 싶을 때는 어떻게 하나요 ?
Team 정보 가져올 때 Team 에 속한 회원들도 같이 가져와 아래와 같은 형태로 만들려면 DTO 구조랑 어떤 방식으로 querydsl 사용해야 하나요 ? { "team" : teamA , "members" : [ { "name" : memeber1 }, { "name" : memeber2 } ]}, { "team" : teamB , "members" : [ { "name" : memeber3 }, { "name" : memeber4 } ]}