Non dovresti farlo. La connessione ha una durata limitata la cui lunghezza è fuori controllo dall'applicazione. Quando il DB decide che la connessione è stata aperta per troppo tempo, chiuderà la connessione e otterrai connection reset
o connection timed out
eccezioni. Di solito è di circa 30 minuti, ma può anche essere inferiore.
La normale pratica JDBC è acquisire e chiudere Connection
, Statement
e ResultSet
nell'ambito più breve possibile, ovvero nello stesso blocco di metodo in cui si esegue la query.
Se il motivo per mantenere la connessione così a lungo aperta è dovuto alle prestazioni, dovresti considerare il pool di connessioni, ad esempio c3p0 (guida all'uso qui ).