Je suis nouveau à Play et Hibernate et je travaille sur un projet. Jusqu'à présent, j'adore !
J'ai rencontré un nouveau problème récemment. J'ai un tableau de personnes. J'ai ensuite une relation ManyToMany dans cette classe qui se référence elle-même. Hibernate crée donc cette table sans problème et j'ai peopleid1 et peopleid2 et les personnes peuvent avoir des relations avec toutes sortes d'autres personnes et vice versa.
J'ai maintenant besoin d'exécuter des requêtes complexes sur cette table et j'ai quelques problèmes car je veux en faire une classe à part entière mais je ne sais pas si c'est la meilleure façon de procéder ou si l'utilisation d'hibernate l'est. Est-ce que JPQL est la solution ? Toute aide ou réflexion est la bienvenue !
Prenons l'exemple des cousins. J'ai une classe/modèle Personne et ces personnes ont des cousins et peuvent être cousins. Pour l'instant, j'ai ceci dans mon code :
@ManyToMany(cascade=CascadeType.ALL)
@JoinTable(name = "Cousins",
joinColumns = { @JoinColumn(name = "personid") },
inverseJoinColumns = { @JoinColumn(name = "cousinid") })
public Set<User> cousins;
Cela fonctionne très bien et crée la table de jonction parfaitement et je peux entrer des données et autres comme prévu. Cependant, je suis bloqué en essayant d'écrire une fonction. Je peux trouver toutes les personnes dont une personne connectée a un cousin, mais je ne peux pas trouver toutes les personnes dont l'utilisateur connecté est un cousin. Je pense que c'est la bonne façon de faire, mais je suis très enclin à faire de Cousins une classe/modèle à part entière et lorsque je fais cela, les choses fonctionnent mais je ne suis pas sûr de la façon dont Hibernate gérera les relations alors.