2016-06-10 20 views
6

Tôi có pom.xml này: Xuân Boot + JPA + QueryDSL = OrderSpecifier không tìm thấy

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

Và Entity này:

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

Và Repo này:

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

Tôi nhận được thứ là lỗi:

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

Có vẻ như tôi đang thiếu phụ thuộc hay gì đó ??

Tôi đã làm theo các liên kết để giúp: 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

Kiểm tra phiên bản chính xác của querydsl. Đã có các lớp được chuyển sang các gói khác nhau trong 4.0. Tôi đoán spring-data-jpa vẫn sử dụng 3. *. – miensol

+0

Vui lòng cung cấp thêm chi tiết về lỗi bạn đang gặp phải (là lỗi thời gian chạy, cách bạn chạy ứng dụng của mình, ...). Các phụ thuộc có vẻ đúng: OrderSpecifier được đưa vào querydsl-core, bản thân nó là một phụ thuộc của querydsl-jpa. –

+0

Tôi có cùng một vấn đề. Bạn đã quản lý để giải quyết điều này? –

Trả lời

1

Add sau phụ thuộc vào dự án

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

Version số theo phiên bản JPA của bạn.

Các vấn đề liên quan