2012-06-01 3 views
14

tengo una entidad Persona APP, y mi persona tiene múltiples direcciones (relación de persona a OneToMany dirección). Quiero poder hacer una consulta para todas las personas que tienen un código postal de partículas, pero no estoy seguro después de mirar la documentación de querydsl cómo manejar adecuadamente la colección.querydsl cómo puedo comprobar contra un objeto específico de un conjunto de objetos que resultan de una relación de uno a muchos?

puedo acceder a las direcciones, pero no estoy seguro de qué hacer con ellos:

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

¿Cómo puedo obtener el SPECIFICADDRESS Busco?

Respuesta

21

probar este

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

Parece demasiado simple ... a tratar tan pronto como estoy de vuelta en una terminal. ¡Gracias! – codeLes

+7

Debería verse simple. ¡Ese es el punto de Querydsl! ;) –

+0

Esto es genial. Lo que realmente me está atrapando ahora es que tengo que ser aún más específico en una pila de colecciones con colecciones ... Esto, si bien es muy divertido descifrarlo. Gracias por la ayuda. – codeLes

Cuestiones relacionadas