2011-12-01 20 views

Trả lời

17
select distinct d from Document d inner join d.accessors a where a.id = :id 

Bạn nên học cách SQL tham gia làm việc, và sau đó học cách sử dụng tham gia trong JPQL. Đó là điều cần thiết. Bạn sẽ tìm thấy nhiều hướng dẫn trực tuyến. Google là bạn của bạn.

+0

@ user1071828 bạn có nghĩa vụ phải nhấp vào đánh dấu để chỉ ra rằng đó là câu trả lời đúng ;-) – fommil

+0

bạn có thể xin vui lòng kiểm tra câu hỏi này ? http://stackoverflow.com/questions/12051559/jpa-join-fetch-query-with-many-to-many – Panos

+0

Xin vui lòng, đừng quên sự khác biệt. Tôi không thể tìm ra lý do tại sao tôi đã kết thúc với các thực thể trùng lặp: ') – Jelle

33

Nên là những gì bạn cần và đơn giản hơn là tham gia bảng. Chỉ cần không quên sử dụng cho người sử dụng như một tham số thay vì sử dụng id của nó:

query.setParameter("user", user); 
+0

Đây là câu trả lời chính xác, JPQL. –

+1

Điều gì sẽ là sự khác biệt nếu chúng ta sử dụng '..: người dùng trong các phần tử (d.accessors)' thay vì '...: thành viên của người dùng (d.accessors)'? – Manuel

+2

@Manuel: [Sự khác nhau giữa IN và MEMBER của các toán tử jpql] là gì (http://stackoverflow.com/questions/5915822/whats-the-difference-between-the-in-and-member-of-jpql- toán tử) –

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