JPA Persister le parent et l'enfant avec l'un de relation

Je veux persister entité mère avec 20 enfants,
mon code est ci-dessous

Classe Parent

@OneToMany(mappedBy = "parentId")
private Collection<Child> childCollection;

Enfant De La Classe

@JoinColumn(name = "parent_id", referencedColumnName = "parent_id")
@ManyToOne(optional=false)
private Parent parent;

String jsonString = "json string containing parent properties and child  collection" 

ObjectMapper mapper = new ObjectMapper();
Parent parent = mapper.readValue(jsonString, Parent.class);

public void save(Parent parent) {
    Collection<Child> childCollection = new ArrayList<>() ;

    for(Child tha : parent.getChildCollection()) { 
        tha.setParent(parent);
        childCollection.add(tha);
    }

    parent.setChildCollection(childCollection);
    getEntityManager().persist(parent);
 }

Donc si il y a 20 tables enfants alors je dois mettre le parent de référence dans chacun d'eux pour ce que j'ai à écrire 20 pour les boucles?
Est-il possible? est-il un autre moyen ou une configuration où je peux automatiquement persister le parent et l'enfant?

Cela semble de plus d'un JSON question que JPA question. Si votre JSON est unmarshalled de sorte que les relations sont définies, puis d'avoir les enfants ont persisté lors de l'enregistrement parent est simplement une question de l'ajout de la pertinente cascade d'options pour le @OneToMany (en supposant que votre mappages sont corrects)
Si vous n'êtes pas envoyer l'Enfant->relation Parent en arrière, ou il n'est pas défini dans ce qui se construit à partir de JSON, alors oui, vous devez le paramétrer manuellement dans chaque entité enfant. L'alternative est de faire de la relation d'uni-directionnelle: supprimer le mappedby="parent" de la OneToMany et, au lieu de spécifier un JoinColumn. Ce sera la cause de la OneToMany pour définir la clé étrangère dans la table enfant au lieu de l'être par la référence de l'enfant à son parent (ensuite, vous devez supprimer le parent de l'Enfant de l'attribut et de la cartographie)

OriginalL'auteur Gora | 2016-02-04