I tried to use criteria.scroll() to go through a potentially massive list of objects today, and found that its not really usable as is.
This is because you have to use integer column numbers to access the data, which is problematic as you do not know for sure in what order columns will be returned by hibernate. Furthermore it is not clear how relationships are handled here.
What we need is dynamic named column retrieval using scrollable.propertyNameHere, and for such property access to also retrieve the associations as expected.