Question

J'ai deux entités qui partagent une clé primaire (Transaction et TransactionDetail). Je les ai mappés en utilisant une relation plusieurs-à-un de transaction en transactionDetail et de transactionDetail en transaction. Le détail de la transaction contient un enregistrement pour chaque transaction.

Cependant, lorsque je crée un nouvel objet de détail de transaction et que je l'ajoute à la transaction, NHibernate tente de mettre à jour la table de transactions avec une requête du type "update transaction set id =?". où id =? ' avec la même valeur pour chaque paramètre.

Étant donné que le mappage se trouve sur la colonne de clé primaire, je ne souhaite pas que la transaction soit mise à jour. En fait, la clé primaire étant une colonne d'identité, j'obtiens une erreur lorsqu'elle tente de mettre à jour la valeur. Comment puis-je empêcher NHibernate de mettre à jour la table Transaction lorsqu'un nouvel enregistrement TransactionDetail est créé?

Était-ce utile?

La solution

Vous voudrez peut-être examiner les types de mappages ou join-table . many-to-one signifie quelque chose de spécifique, et il semblerait que votre cas corresponde mieux au profil de l'un des deux autres types de mappages.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top