A solution could be the following:
- create a custom
HibernateDetachedCriteriaItemReader<> extends AbstractItemCountingItemStreamItemReader<>
- add a property
Criteria criteria
and inject it before use - rewrite all
do*()
functions to manage resultset lifecycle
Or extends from HibernateCursorItemReader
and override doOpen() to let working in dual-mode (normal,with detached criteria)