Search code examples
javahibernatespring-dataspring-data-jpaquerydsl

Spring JPA data: Querydsl in eclipse giving compilation error while using query dsl classes


I have added below query dsl plugin in eclipse to generate qdsl classes. While using DSL classes in my repository its giving complication error.

`
            <!--Plugin for query-dsl -->
            <plugin>
                <groupId>com.mysema.maven</groupId>
                <artifactId>apt-maven-plugin</artifactId>
                <version>1.1.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>process</goal>
                        </goals>
                        <configuration>                         
                            <outputDirectory>generated-sources/java</outputDirectory>
                            <!-- <outputDirectory>src/main/java</outputDirectory> -->
                            <processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

`

Also enabled annotation processing and added querydsl jar in the classpath.

enter image description here


Solution

  • With above given setting I did below changes in pom which worked perfectly.

    1. Enable annotation processing in eclipse.
    2. Add generated package in source in the classpath.
    3. Add below changes in pom.

    `

        <dependency>
                    <groupId>com.mysema.querydsl</groupId>
                    <artifactId>querydsl-core</artifactId>
                    <version>3.6.7</version>
                </dependency>
                <dependency>
                    <groupId>com.mysema.querydsl</groupId>
                    <artifactId>querydsl-apt</artifactId>
                    <version>3.7.4</version>
                    <scope>provided</scope>
                </dependency>
    
                <dependency>
                    <groupId>com.mysema.querydsl</groupId>
                    <artifactId>querydsl-jpa</artifactId>
                    <version>3.7.4</version>
                </dependency>
    
    
    <!--Plugin for query-dsl -->
                <plugin>
                    <groupId>com.mysema.maven</groupId>
                    <artifactId>apt-maven-plugin</artifactId>
                    <version>1.1.2</version>
                    <executions>
                        <execution>
                            <phase>generate-sources</phase>
                            <goals>
                                <goal>process</goal>
                            </goals>
                            <configuration>                         
                                <outputDirectory>src/main/generated/</outputDirectory>
                                <processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
                            </configuration>
                        </execution>
                    </executions>
                    <dependencies>
                        <dependency>
                            <groupId>com.mysema.querydsl</groupId>
                            <artifactId>querydsl-apt</artifactId>
                            <version>3.7.4</version>
                        </dependency>
                    </dependencies>
                </plugin>
    

    `