In addition, this is in part because in at least some of the major database, scrolling result sets either don't perform particularly efficiently, or because the entire result set gets cached by the driver in memory, or both.
In other words, they're best used for small results, and for small results is often easier to use a non-scrollable anyway and convert each row to a Java object; there's just not that much benefit.
In the long run, if DB vendors and driver writers improve the driver implementations substantially, scrollables could be a lot more usable...
It's certainly possible to use them in a limited way, and I suppose there may be a driver implementation out there that works well, but it's not something I'd generally recommend to beginners (if they'd listen to me); you have to know a lot about how the underlying implementation is really doing things, or restrict yourself to toy or small-scale projects.
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com