2012-06-01 20 views
14

Tôi có một thực thể Người JPA, và Người của tôi có nhiều địa chỉ (mối quan hệ OneToMany từ Người đến Địa chỉ). Tôi muốn có thể làm một truy vấn cho tất cả mọi người có một mã zip hạt nhưng tôi không chắc chắn sau khi nhìn vào tài liệu querydsl làm thế nào để xử lý đúng cách bộ sưu tập.Sử dụng querydsl làm cách nào tôi có thể kiểm tra đối với một đối tượng cụ thể từ một tập hợp các đối tượng phát sinh từ mối quan hệ Một đến Nhiều?

tôi có thể truy cập vào địa chỉ nhưng tôi không biết phải làm gì với họ:

QPerson qPerson = QPerson.person; 
personDao.findAll(qPerson.addresses._SPECIFICADDRESS_.zip.eq('73130')); 

Làm thế nào tôi có thể nhận được SPECIFICADDRESS Tôi đang tìm kiếm?

Trả lời

21

Hãy thử điều này

QPerson qPerson = QPerson.person; 
personDao.findAll(qPerson.addresses.any().zip.eq('73130')); 
+0

Trông quá đơn giản ... sẽ thử nó càng sớm càng Tôi đã trở lại tại một thiết bị đầu cuối. Cảm ơn! – codeLes

+7

Nó sẽ trông đơn giản. Đó là quan điểm của Querydsl! ;) –

+0

Điều này thật tuyệt. Điều thực sự khiến tôi hiện giờ là tôi phải tập trung nhiều hơn vào một bộ sưu tập với các bộ sưu tập ... Điều này thực sự thú vị khi tìm ra. Cảm ơn đã giúp đỡ. – codeLes

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