본문 바로가기
Dev/Spring

Test 폴더에 있는 엔티티 -> Q class로 생성하기

by 펭귄안에 온천 2023. 5. 21.
728x90
반응형

querydsl을 사용할때 Q Class가 필요한데

가끔 우리는 소스 폴더가 아닌
테스트용으로 엔티티를 만들 경우가 있다.
그럴때 테스트 폴더에 있는 엔티티들은 Q Class로 생성안되는데

그거 설정하는 방법임


            <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>${project.build.directory}/generated-sources</outputDirectory>
                            <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
                        </configuration>

                    </execution>

                    <execution>
                        <id>generate-test-entities</id>
                        <phase>generate-test-sources</phase>
                        <goals>
                            <goal>test-process</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/generated-test-sources</outputDirectory>
                            <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>com.querydsl</groupId>
                        <artifactId>querydsl-apt</artifactId>
                        <version>4.4.0</version>
                    </dependency>
                </dependencies>
            </plugin>

 

 

-> 결과 이미지

 

 

 

 

 

 

* Q Class에서 Generated관련 오류( cannot find symbol ->  javax.annotation.Generated)가 발생시

 javax.annotation.Generated로 사용하겠다고 지정하여 Q파일 생성 시 자동으로 해당 어노테이션이 사용되도록 설정

 

 

            <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>${project.build.directory}/generated-sources</outputDirectory>
                            <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
                        </configuration>

                    </execution>

                    <execution>
                        <id>generate-test-entities</id>
                        <phase>generate-test-sources</phase>
                        <goals>
                            <goal>test-process</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/generated-test-sources</outputDirectory>
                            <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>com.querydsl</groupId>
                        <artifactId>querydsl-apt</artifactId>
                        <version>4.4.0</version>
                    </dependency>
                </dependencies>
            </plugin>

참고 - https://wildeveloperetrain.tistory.com/260

반응형