2016년 12월 14일 수요일

[자바교육,스프링교육,JPA교육학원_탑크리에듀][JPA강좌, QueryDSL설정하기]

[JPA강좌, QueryDSL설정하기]



----------------------------------------------------------------
QueryDSL 3.X 버전이면 다음과 같이 MAVEN pom.xml에 설정해야 한다.
----------------------------------------------------------------

1. pom.xml 의존성 추가

메이븐 프로젝트의 의존 설정에 다음을 추가한다.

<dependency>
  <groupId>com.mysema.querydsl</groupId>
  <artifactId>querydsl-apt</artifactId>
  <version>${querydsl.version}</version>
  <scope>provided</scope>
</dependency>    
    
<dependency>
  <groupId>com.mysema.querydsl</groupId>
  <artifactId>querydsl-jpa</artifactId>
  <version>${querydsl.version}</version>
</dependency>
 

다음으로 메이븐 APT 플러그인을 설정한다.

<project>
  <build>
  <plugins>
    ...
    <plugin>
      <groupId>com.mysema.maven</groupId>
      <artifactId>apt-maven-plugin</artifactId>
      <version>1.0.9</version>
      <executions>
        <execution>
          <goals>
            <goal>process</goal>
          </goals>
          <configuration>
            <outputDirectory>target/generated-sources/java</outputDirectory>
            <processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
          </configuration>
        </execution>
      </executions>
    </plugin>
    ...
  </plugins>
  </build>
</project>

----------------------------------------------------------------
QueryDSL 4.X 버전이면 다음과 같이 MAVEN pom.xml에 설정해야 한다.(버전 : 4.0.8)
--------------------------------------------------------------

[pom.xml]에서 붉은색 부분을 추가하자.

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
<querydsl.version>4.0.8</querydsl.version>
</properties>


<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>

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-log4j12</artifactId>
  <version>1.6.1</version>
</dependency>

다음으로 메이븐 APT 플러그인을 설정한다.

<project>
  <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/java</outputDirectory>
<processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
    ...
  </plugins>
  </build>
</project>



2. 플러그인의 <execution>에서 오류가 발생하는 경우 STS의 설정파일인 STS.ini 파일에서 -VM 옵션을 추가하자.

-vm
C:\Program Files\Java\jdk1.8.0_31\bin\javaw.exe
-vmargs


3. STS 재시작 후 -> MAVEN -> UPDATE PROJECT

4. 타겟 경로 지정

도메인 클래스(모델객체를 샘플로 만들면) outputDirectory로 지정한 target/generated-sources 위치에 Q로 시작하는 쿼리타입들이 생기고 이 위치가 자동으로 소스경로에 포함되는 데 안되었다면 아래처럼 하자.

폴더에서 마우스 우측 -> Build Path -> use as Source Folder 

or

BuildPath -> Configure Build Path의 SOURCE탭에  target/generated-source/java 경로를 추가하자.

댓글 없음:

댓글 쓰기