Probably the only valid reason for using
set enable_seqscan=false
is when you're writing queries and want to quickly see what the query plan would actually be were there large amounts of data in the table(s).
When using spring and spring managed transactions never mess around with the hibernate.current_session_context_class property UNLESS you are using JTA.