В интерфейсе java.sql.Statement есть setQueryTimeout (int). Вы должны вызвать его перед вызовом executeQuery ().
Вы также можете асинхронно отменить текущий запрос, вызвав метод cancel () в операторе.
Редактировать: Драйвер Oracle jdbc версии 6 наверняка поддерживает эти методы, поскольку я использую его в одном из своих проектов.