Om du kör frågan i samband med en transaktion, kommer transaktionstimeoutvärdet för JTA-transaktionsövervakaren att vara avgörande för frågans timeout. Konfigurationen för detta beror från en applikationsserver till en annan.
På en individuell frågenivå (i avsaknad av en JTA-transaktionsövervakare) kan setQueryTimeout metod kan användas för att ställa in timeout vid exekvering av ett Statement/PreparedStatement/CallableStatement-objekt.
Uppdatera
setQueryTimeout är inte att lita på, även om det fungerar (åtminstone från en J2SE-klient). Det fungerar via JDBC-drivrutinen som utför en fullständig tur och retur till Oracles databasserver. Sedan är det upp till databasen att stoppa körningen av frågan. Lita inte på det för tidskritiska applikationer.