Bzgl. Java kann ich da nicht so viel sagen.
Irgend wann wurde die QAQQINI eingeführt. Diese lässt sich in einer Verbindung explizit angeben (Lib-spezifisch). Hier kann man auch das Query-Timelimit überschreiben. Wobei das vom Treiber unterstützt werden sollte.
Bei CA-OLEDB/ODBC funktioniert dies jedenfalls, warum sollte es nicht auch bei JDBC funktionieren.
Häufig muss ich das Limit auf weit über 3600 setzen da sich der Optimizer einfach zu sehr verschätzt und Abfragen z.T. gar nicht möglich wären.