1 つの休止状態セッションでの遅延反復子と複数のトランザクションに少し混乱しています。次のコード ブロックがあります。
@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();
}
}
複数のトランザクションがあるので、イテレータはどのトランザクションで動作するのだろうか?