Travailler avec JPA/Hibernate dans un environnement Web OSIV me rend fou;)fusion/Remontage de JPA/Hibernate sans mettre à jour la DB
Après scénario: J'ai une entité A qui est chargée par JPA et a une collection d'entités B. Ces entités B ont un champ obligatoire. Lorsque l'utilisateur ajoute un nouveau B à A en appuyant sur un lien dans la webapp, ce champ requis n'est pas défini (puisqu'il n'y a pas de valeur par défaut sensible).
Lors de la requête http suivante, le filtre OSIV tente de fusionner l'entité A, mais cela échoue car Hibernate se plaint que le nouveau champ B n'a pas de champ obligatoire.
javax.persistence.PersistenceException: org.hibernate.PropertyValueException: not-null property references a null or transient value
Lire la spécification JPA, je ne vois pas le signe que ces contrôles sont nécessaires dans la phase de fusion (je n'ai aucune transaction active)
Je ne peux pas garder la collection de l'extérieur de B de A et seulement les ajouter à A quand l'utilisateur appuie sur « enregistrer » (alias entitymanager.persist()) comme le lieu où le bouton d'enregistrement est ne sait pas sur le B, seulement A.
également A et B sont des exemples, J'ai des trucs similaires partout ..
Des idées? Est-ce que d'autres implémentations JPA se comportent de la même manière ici?
Merci d'avance.