2015-10-13 16 views
5

Một số ví dụ trực tuyến cho Mysema Querydsl cách sử dụng dựa trên phương pháp JPAQuery#list(), ví dụ: this stackoverflow answer chứa ví dụ tổng hợp GROUP BY/COUNT. Nó cũng được đề cập đến trong suốt số official documentation.Mysema Querydsl: Không có phương thức JPAQuery # list()

Tuy nhiên, tôi không thấy phương pháp này trên lớp JPAQuery. Nó không hiển thị trong quá trình tự động hoàn thành của IDE và nó không có trong tệp JAR được Maven tải xuống.

Tôi đã thêm những phụ thuộc vào dự án Maven tôi:

<dependency> 
    <groupId>com.querydsl</groupId> 
    <artifactId>querydsl-apt</artifactId> 
    <version>4.0.4</version> 
    <scope>provided</scope> 
</dependency> 
<dependency> 
    <groupId>com.querydsl</groupId> 
    <artifactId>querydsl-jpa</artifactId> 
    <version>4.0.4</version> 
</dependency> 

Tại sao là phương pháp JPAQuery#list() không có mặt?

Trả lời

3

Phương thức JPAQuery.list đã bị xóa khi Querydsl nâng cấp từ 3.x lên dòng 4.x. Vì bạn đang sử dụng phiên bản 4.0.4, phương pháp này không còn khả dụng nữa.

Khi tôi hiểu từ việc đọc release notes, phiên bản 4 giới thiệu nhiều thay đổi lớn trong cơ sở mã phá vỡ mã cũ hơn. Bạn có hai lựa chọn:

  • hạ cấp xuống phiên bản cuối cùng của dòng 3.x, mà 3.6.8 và sử dụng các phương pháp list
  • giữ phiên bản 4.0.4 và sử dụng phương pháp fetch để thay thế. Hãy xem this GitHub issue để biết danh sách các thay đổi.
+0

Cảm ơn bạn Tunaki. Đó là điều tôi sợ. Tôi nghĩ rằng tôi sẽ cố gắng để gắn bó với 4.0.4 và tìm ra cách để nâng cấp các truy vấn của tôi. @ Mysema mọi người: Có ai tâm trí cập nhật tài liệu tham khảo? – SputNick

+0

Cảm ơn những người đứng đầu. Sẽ được sửa https://github.com/querydsl/querydsl/pull/1626 –

+0

Điều gì về phương pháp danh sách có tham số (trong mysema). fetch() không nhận bất kỳ tham số nào. – Tisha

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