2024/04 6

Querydsl 조회

결과조회 fetch() : 리스트를 조회(데이터 없으면 빈 리스트를 반환한다.) fetchOne() : 하나를 조회(결과가 없으면 null을 가져오고, 둘이상이면 com.querydsl.core.NonUniqueResultException을 터트린다.) fetchFirst() : limit(1).fetchOne() fetchResults() : 페이징 정보를 포함하여 total count 쿼리를 추가적으로 실행한다. fetchCount() : count 쿼리로 변경하여 count의 갯수를 조회한다.

Could not instantiate id generator 해결

JPA에서 실행을 할때 Could not instantiate id generator라는 오류가 나왔다 아래는 보이는 에러들이다. 이때는 @GeneratedValue에 strategy를 걸어줘야한다. 테스트 성공했다. strategy에 대해서 알아보면 IDENTITY : 데이터베이스가 직접 자동 증가를 하여 기본 키(ID) 값을 생성. 객체를 영속화시킬때 쿼리가 DB로 전송 SEQUENCE : 데이터베이스 시퀀스를 이용 유일한 식별자를 생성. 시퀀스는 순차적으로 값이 증가하며 여러 테이블에서 공유가능 TABLE : 별도의 테이블을 사용하여 관리. 다음에 사용될 값을 저장하고 업데이트. SEQUENCE 전략과 유사하지만 테이블을 통해 키를 관리하는게 다르다. AUTO : JPA가 자동으로 3전략중 하나를 ..

querydsl에서 Q파일 만들때 gradle 9 버전에러

gradle에서 other/compileQuerydsl을 실행시 이런 에러가 떴다. spring boot 2버전과 3버전의 설정차이가 있다고한다. 김영한 강사님의 해당 글을 보고 해결 https://www.inflearn.com/questions/787440/querydsl-gradle-%EC%B6%94%EA%B0%80%ED%9B%84-%EB%8D%94%EB%B8%94%ED%81%B4%EB%A6%AD%ED%95%98%EC%97%AC-%EC%8B%A4%ED%96%89%ED%95%A0%EB%95%8C-%EC%98%A4%EB%A5%98 querydsl gradle 추가후 더블클릭하여 실행할때 오류 - 인프런 오후 2:05:03: 실행 중 'compileQuerydsl'...> Task :initQuerydsl..

Querydsl dependency 추가방법

build.gradle을 아래와같이 설정해준다. 추가하는 코드중에 s라던지 오타가 있으면 에러가 나온다. (스프링 부트 3버전 기준) plugins { id 'java' id 'org.springframework.boot' version '3.1.10' id 'io.spring.dependency-management' version '1.1.4' //querydsl 추가 // id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" } group = 'study' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annota..

gradle import시 버전오류 해결방법

새로 spring initializer를 사용하여 gradle 프로젝트를 만들면 버전문제로 초기 gradle 프로젝트 build가 실패하는 경우가 있었다. 해결책: 그럴때는 프로젝트 루트디렉터리에서 gradle/wrapper/gradle-wrapper.properties 파일을 열어 gradle 버전을 변경해주고 다시 build해주면된다. distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase..