0
我對一個休眠會話中的惰性迭代器和多個事務有點困惑。有以下代碼塊:延遲加載和多個事務
@Transactional
public void runtProcessing() {
HibernateTemplate hibernateTemplate = ...
Session hibernateSession = hibernateTemplate.getSessionFactory().getCurrentSession();
Iterator<DomainObject> domainObjects = hibernateTemplate.iterate(...);
try {
while (domainObjects.hasNext()) {
hibernateSession.beginTransaction();
DomainObject domainObject = domainObjects.next();
processDomainObject(domainObject);
hibernateSession.getTransaction().commit();
}
}
由於有多個事務,我不知道迭代器在什麼事務中工作?
用'@ Transactional'註釋更新代碼。已經有一個打開的交易。 –