티스토리 뷰

개요

  • Maven 기반의 Java, Spring Boot 2(또는 이 것을 한 번 다 감싼 JHipster) 프로젝트에서 Querydsl을 사용하는 방법을 정리하였다. (Querydsl의 대한 자세한 사용법은 본 블로그의 이 글을 참고한다.)

pom.xml

  • 프로젝트 루트의 /pom.xml 파일에 각 부분에 아래 내용을 추가하면 Querydsl 의존성 추가가 완료된다.
<project>

    <properties>
        <!-- 아래에 추가 -->
        <querydsl.version>5.0.0</querydsl.version>
    </properties>

    <dependencies>
        <!-- 아래에 추가 -->
        <dependency>
            <groupId>com.querydsl</groupId>
            <artifactId>querydsl-core</artifactId>
            <version>${querydsl.version}</version>
        </dependency>
        <dependency>
            <groupId>com.querydsl</groupId>
            <artifactId>querydsl-apt</artifactId>
            <version>${querydsl.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.querydsl</groupId>
            <artifactId>querydsl-jpa</artifactId>
            <version>${querydsl.version}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <!-- 아래에 추가 -->
            <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</outputDirectory>
                            <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>3.2.0</version>
                <executions>
                    <execution>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>add-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>target/generated-sources</source>
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-clean-plugin</artifactId>
                <version>${maven-clean-plugin.version}</version>
                <configuration>
                    <filesets>
                        <fileset>
                            <directory>target/generated-sources/annotations</directory>
                            <includes>
                                <include>**</include>
                            </includes>
                        </fileset>
                    </filesets>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

Q 클래스 생성

  • IntelliJ IDEA에서 현재 프로젝트의 @Entity 클래스를 최신 변경점이 반영된 Q 클래스를 생성하고 사용하려면 콘솔에서 아래와 같이 실행한다. (IDE 내에서 단축키 ALT + F12로도 콘솔을 실행할 수 있다.)
# IntelliJ IDEA에서 필요로 하는 모든 데이터 생성
# Querydsl의 Q 클래스도 생성
$ ./mvnw idea:idea
  • idea:idea 명령은 idea:project, idea:module, idea:workspace를 연속으로 실행하는 것과 같은 효과를 가진다. [관련 링크]

참고 글

댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함