hier j'ai essayé de faire ce travail de code inspite le fait qu'il est juste fonctionne très bien avec nhibrnate et le serveur SQL, mais quand il vient à Oracle il générer mal sqlNhibernate Generat mal SQL pour Oracle avec verrouillage
UnitOfWork.Current.CreateCriteria<Bill>().Add(Restrictions.IsEmpty("ReqId"))
.SetMaxResults(BatchSize).SetLockMode(LockMode.Upgrade).List<Bill>();
le SQL généré quelque chose comme
Select * from
(Select bill_0.id,bill_0.BillNo ...... from Bill bill_0 where bill_0.reqId is Not null)
where ROWNUM < 10 for UPDATE of bill_0.ID
donc je ne vais pas courir parce que les alliés bill_o est défini dans l'instruction sql intérieure qui a obtenu la sorte solution?
SQL correcte serait quelque chose comme ce que j'ai essayé et travaillé sur Oracle db
Select bill_0.id,bill_0.BillNo ...... from Bill bill_0
where bill_0.reqId is Not null and ROWNUM < 10 for UPDATE of bill_0.ID
Veuillez nous indiquer l'avantage d'utiliser le verrouillage ici. Selon NH Docs "les utilisateurs avancés peuvent parfois souhaiter obtenir des verrous pessimistes exclusifs" Alors, comment cela est utile ici. Aussi, il vaudrait mieux ajouter le SQL attendu à générer. –
simplement pour empêcher d'autres threads de mettre à jour mon jeu d'enregistrements – BigOmar