J'ai un OneToMany relation entre un résident de classe et ResidentInfo ResidentInfo n'est pas censé existe sans résident, mais ResidentInfo n'est pas nécessaireJPA (veille prolongée) relation OneToMany et nulle
Voici mes classes:
public class Resident {
...
@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH}, mappedBy = "resident")
@Cascade({org.hibernate.annotations.CascadeType.ALL})
public List<ResidentInfo> infos;
}
public class ResidentInfo {
...
@ManyToOne(optional = false)
public Resident resident;
public String label;
public String value;
}
Je suis nouveau à JPA et peut-être que je fais des choses fausses.
Le problème est que lorsque j'essaie d'insérer des données à la fois (créer résident et ses infos en même temps), j'ai une exception nulle.
C'est parce que ResidentInfo.resident.id est nulle (mais je ne peux pas spécifier une valeur parce que résident est créé dans le même temps!)
De plus, même si le résident est créé d'abord, j'ai cette erreur mais je ne sais pas pourquoi:
detached entity passed to persist: models.ResidentInfo
Alors, comment résoudre ces problèmes?
Bonjour, j'ai supprimé "cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH}" est-ce correct? J'ai aussi testé votre code, cela ne fonctionne que partiellement, quand je veux ajouter un nouveau ResidentInfo à un résident existant cela ne fonctionne pas – Bouki
Que voulez-vous dire, cela ne fonctionne pas? Quel est le résultat lorsque vous ajoutez un nouveau ResidentInfo en utilisant la méthode spécifiée? – Osiris76
Je n'ai pas d'erreur, mais tous les enregistrements ResidentInfos ne sont pas insérés – Bouki