2009-01-13 6 views
2

J'ai un problème très étrange: parfois quand j'appelle nHibernate mise à jour à une entité et cela fonctionne, et parfois il ne fait rien, dans le même appel. Quand il ne fait pas la mise à jour, nHibernate ne retourne pas une exception ou quelque chose comme ça. Cela ne fait simplement rien. Avez-vous déjà eu ce genre de problème?La mise à jour de nHibernate ne fait rien

+0

Meilleur pour nous montrer du code qui fonctionne, du code qui ne fonctionne pas :) – sirrocco

+0

le même code fonctionne et ne fonctionne pas –

+0

je vais prendre le code;) –

Répondre

7

Je me suis peut-être trompé là-dessus, mais est-ce que des choses comme Enregistrer et mettre à jour ne mettent pas juste à jour l'objet dans la session non persistent? .Flush() devrait être l'objet ce qui persiste à la base de données, mais puisque vous obtenez des résultats intermittents ...

Ajouter sur:

Une autre chose qui me vint est-il peut être possible votre session est en train de se faire baiser? Vous créez peut-être 2 sessions et celle qui contient l'objet que vous avez mis à jour n'est pas la même que celle que vous appelez Mise à jour.

+0

bon conseil :) C'est juste le problème Je rencontre –

+0

Oui, il pourrait être le problème, mais ce n'est pas parce que nous avons activé l'autoflush. Ce qui est vraiment bizarre, c'est que la plupart du temps cette méthode fonctionne, avec la même entité. –

0

Vous pouvez essayer NHProfiler pour voir vos sessions/requêtes et votre pile d'appels pour eux. Je suis d'accord avec Programmin Tool que cela ressemble à une situation où les sessions se croisent. Utilisez-vous une sorte de gestion de session comme une session par requête?

Questions connexes