вчера я пытался заставить этот код работать, несмотря на тот факт, что он просто отлично работает с nhibernate и SQL-сервером, но когда он приходит в Oracle, он генерирует неправильный sql
UnitOfWork.Current.CreateCriteria<Bill>().Add(Restrictions.IsEmpty("ReqId"))
.SetMaxResults(BatchSize).SetLockMode(LockMode.Upgrade).List<Bill>();
сгенерированный SQL будет что-то вроде
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
так что я не буду работать, потому что союзники bill_o определены внутри внутреннего оператора SQL, так кто же получил решение?
правильный sql был бы что-то вроде этого, который я попробовал и работал на 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