2016-06-10 3 views
6

У меня есть этот pom.xml: Spring Загрузочный + JPA + QueryDSL = OrderSpecifier не найдено

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.3.5.RELEASE</version> 
</parent> 

<dependencies> 
    <dependency> 
     <groupId>com.mysema.querydsl</groupId> 
     <artifactId>querydsl-jpa</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>com.mysema.querydsl</groupId> 
     <artifactId>querydsl-apt</artifactId> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-data-jpa</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>1.6.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.projectlombok</groupId> 
     <artifactId>lombok</artifactId> 
     <version>1.16.8</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hsqldb</groupId> 
     <artifactId>hsqldb</artifactId> 
     <scope>runtime</scope> 
    </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/java</outputDirectory> 
          <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 

И это Entity:

@Entity 
@Data 
@Builder 
public class DataDto { 
    @Id 
    private String id; 
    private String name; 
} 

И это Repo:

public interface DataRepo extends JpaRepository <DataDto,String>, QueryDslPredicateExecutor<DataDto> { 
} 

Я получаю является ошибкой:

Error:(9, 8) java: cannot access com.mysema.query.types.OrderSpecifier 
    class file for com.mysema.query.types.OrderSpecifier not found 

Похоже, что у меня нет зависимости или что-то в этом роде?

Я следовал за эти ссылки, чтобы помочь: http://www.querydsl.com/static/querydsl/latest/reference/html/ch02.html#jpa_integration http://spring.io/blog/2011/04/26/advanced-spring-data-jpa-specifications-and-querydsl

+0

Проверьте точную версию querydsl. В 4.0 были перенесены классы в разные пакеты. Я думаю, что spring-data-jpa все еще использует 3. *. – miensol

+0

Просьба дать более подробную информацию об ошибке, которую вы получаете (это ошибка времени выполнения, как запустить приложение, ...). Зависимости кажутся правильными: OrderSpecifier включен в querydsl-core, который сам является зависимостью querydsl-jpa. –

+0

У меня такая же проблема. Вам удалось это решить? –

ответ

1

Добавить следующие зависимость в проекте

  <dependency> 
       <groupId>com.querydsl</groupId> 
       <artifactId>querydsl-jpa</artifactId> 
       <version>4.0.3</version> 
      </dependency> 

номер версии в соответствии с вашей JPA версии.

Смежные вопросы