Si vous exécutez la requête dans le contexte d'une transaction, la valeur du délai d'expiration de la transaction du moniteur de transactions JTA sera le déterminant du délai d'expiration de la requête. La configuration pour cela dépend d'un serveur d'application à l'autre.
Au niveau de la requête individuelle (en l'absence d'un moniteur de transaction JTA), le setQueryTimeout peut être utilisée pour définir le délai d'expiration de l'exécution d'un objet Statement/PreparedStatement/CallableStatement.
Mettre à jour
setQueryTimeout ne doit pas être invoqué, bien que cela fonctionne (au moins à partir d'un client J2SE). Il fonctionne via le pilote JDBC effectuant un aller-retour complet vers le serveur de base de données Oracle. Ensuite, c'est à la base de données d'arrêter l'exécution de la requête. Ne vous y fiez pas pour les applications urgentes.