Tôi mới sử dụng JPA dữ liệu Spring và đang cố gắng hiểu cách sử dụng tốt nhất nó với QueryDSL. Không có QueryDSL, tôi có thể chỉ cần tạo bất kỳ truy vấn nào trong giao diện SpringData của mình bằng chú thích @Query. Để có cùng trải nghiệm sử dụng QueryDSL, từ những gì tôi có thể thấy, tôi cần tạo triển khai kho lưu trữ tùy chỉnh của riêng mình và giao diện repo mở rộng giao diện triển khai tùy chỉnh của tôi hoặc đặt tất cả truy vấn QueryDSL của tôi ở lớp dịch vụ mà kết thúc tốt đẹp repo của tôi.JPA dữ liệu mùa xuân và QueryDSL
Trong trường hợp đầu tiên, tôi mất khả năng sử dụng bất kỳ phương pháp tự tạo SD nào (ví dụ: findAll (QueryDSL predicate)) trong repo tùy chỉnh của tôi vì tôi không có quyền truy cập đối tượng repo thực, và trong trường hợp thứ hai tôi đặt logic truy vấn ở tầng dịch vụ thay vì ở lớp repo.
Không có giải pháp nào đặc biệt hấp dẫn đối với tôi. Có cách nào thứ 3 phù hợp hơn không? Hoặc tôi có hiểu lầm làm thế nào để sử dụng đúng QueryDSL và dữ liệu mùa xuân?
Cảm ơn!
Eric
Vấn đề không phải là 'che giấu sự kết hợp của các biến vị ngữ vào kho', đối với tôi, đó là thêm' nhóm bởi' và ... vào các truy vấn của tôi và thực hiện chúng mà chỉ có vị ngữ dường như không gần như vậy – azerafati
Thật không may , 'QueryDslPredicateExecutor' không cho phép sử dụng' groupBy', vv Chỉ có phần 'where' của truy vấn. Nó thường không đủ. Nhưng tùy chỉnh kho lưu trữ với 'QueryDslRepositorySupport' là lớp cơ sở thực sự tốt! – djxak
@azerafati, hãy xem https://github.com/infobip/infobip-spring-data-jpa-querydsl, đó có thể là những gì bạn đang tìm kiếm. – lpandzic