less than 1 minute read

springboot(2.2.X), spring-data-jpa, querydsl 사용…

간단한 기록…

1. 의존성 추가

pom.xml (dependency 영역)


<!-- (..생략..) -->
<dependency>
    <groupId>com.querydsl</groupId>
    <artifactId>querydsl-apt</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>com.querydsl</groupId>
    <artifactId>querydsl-jpa</artifactId>
</dependency>

<!-- (..생략..) -->        

2. 빌드 시 QType Entity Generate

pom.xml (plugin 영역)

<!-- (..생략..) -->
<plugin>
    <groupId>com.mysema.maven</groupId>
    <artifactId>apt-maven-plugin</artifactId>
    <version>1.1.3</version>
    <executions>
        <execution>
            <goals>
                <goal>process</goal>
            </goals>
            <configuration>
                <outputDirectory>target/generated-sources/java</outputDirectory>
                <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
            </configuration>
        </execution>
    </executions>
</plugin>
<!-- (..생략..) -->

3. Repository 구현

@Repository
public interface ARepository extends JpaRepository<AEntity, Long>, CustomARepository {

}

interface CustomARepository {
    // Querydsl을 사용할 커스텀 메소드를 정의
    // ...
}

class CustomARepositoryImpl extends QuerydslRepositorySupport implements CustomARepository {

	public CustomARepositoryImpl() {
		super(AEntity.class);
	}
    // Querydsl을 사용할 커스텀 메소드 구현
    // ...
}

4. 사용

기존 JPARepository DI 받은 후 사용하는 것과 동일

5. 참고용 간단 예제

https://github.com/rookieceo/demo

끝.

Comments