Bạn cần thêm @Param
chú thích cho tên biến phương thức để bạn có thể tham chiếu nó trong truy vấn của mình. Mã bạn đã viết là hoàn toàn tốt. Trong trường hợp bạn cần quyền truy cập vào EntityManager
, thì bạn sẽ cần một kho lưu trữ tùy chỉnh.
@Query("from Auction a join a.category c where c.name=:categoryName")
public Iterable<Auction> findByCategory(@Param("categoryName") String categoryName);
@Param
có thể được bỏ qua khi sử dụng Java 8 và biên dịch với -parameters
.
Hy vọng điều đó sẽ hữu ích.
Mẹo:Bất cứ khi nào bạn đăng một câu hỏi, hãy luôn đăng các chi tiết ngoại lệ. Nó giúp hiểu vấn đề.