La relation que j'ai entre MyObject et A est unidirectionnelle, donc, je n'ai pas de reference a MyObject dans A.
Pour reprendre avec des examples plus concrets, un document n'a pas de reference sur une personne qui le possède.
La requête que vous proposez ne peux donc pas être exécutée. Cependant j'ai quand même une table de liaison pour faire la correspondance entre personnes et documents:
la Table PersonDocuments avec 2 colonnes Person_ID et Document_ID
Grâce à cette table je peux faire des requêtes SQL pour récupérer les documents d'une personne.
L'ajout d'une personne dans la base avec des documents associés fonctionne correctement, la table PersonDocuments est rempli correctement.
Je procède comme suit pour ajouter une personne avec des documents liés:
1: Merge/Persist des documents dans la base --> Rempli les tables correctement en fonction du type du document
2: Association des documents mergés avec la personne: person.setDocuments( mergedDocuments )
3: Persist de la personne. La table d'association PersonDocuments est remplie corretement.
Par contre dans ma class Person, si au lieu d'avoir une collection de Document, j'utilise une collection de IdentityCard, le résultat de la recherche fonctionne parfaitement, je récupère bien mon objet Person avec les IdentityCards.
Bon evidemment j'ai juste fais ca pour tester, parce qu'il doit etre possible dans mon systeème d'associer n'importe quel type de document à une personne.
Je ne comprend vraiment pas pourquoi ça ne marche pas avec une collection de Document....
Toujours merci pour l'aide

Partager