querydsl

    Querydsl 방언 사용하기

    Dialect JPA를 사용하면 데이터베이스 문법을 잘 알지 못해도 hibernate에 의해 설정한 데이터베이스의 쿼리로 바꿔준다. SQL,JPQL은 문자열인 반면 QUERYDSL을 사용하게 되면 java코드로 쿼리를 작성할 수 있게되고 컴파일 시점에 문법오류 를 확인할 수 있다는 큰 장점이 있다. application.yml에 사용하는 DB의 dialect가 설정되어있다. spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect FullText Search는 Dialect에 등록된 함수가 아니였기 때문에 querydsl 에서 사용할 수 없기 떄문에 별도로 커스텀해줘야한다. application.yml 설정 jpa: show-sql: true h..

    querydsl 벌크연산 수행 주위사항

    @Commit @Test public void bulkUpdate() throws Exception{ //member1=10->비회원 //member2=20->비회원 //member3=30->유지 //member4=40->유지 long count = queryFactory .update(member) .set(member.username, "비회원") .where(member.age.lt(28)) .execute(); //DB에서 꺼내온 데이터보다 영속성컨텍스트가 우선권을가짐 //벌크 연산후 flush와 clear을 해줘라 em.flush(); em.clear(); List result = queryFactory .selectFrom(member) .fetch(); for (Member member1 :..