Again, do the math. Multiply how many simultaneous users you will have, times the size of the data held in the session.
You could also do a load
test to try to figure out how this will affect the app. That should answer your performance question.
2. Is there any way to cache result set with out using session attribute.
The easiest way to do it would be to use the session attribute. There are other ways that might reduce the cost of RAM usage but reduce performance also.
I am really not happy to use sessions but i dont know what to do.
Why do you have this concern ?
We have a couple of links here related to pagination
Javaranch tips on pagination
Pagination article
Hope that helps