Предполагая, что вы используете Spring Boot, вы можете попробовать:
spring.transaction.defaultTimeout=1
Это свойство устанавливает значение defaultTimeout для транзакций равным 1 секунде.
(Глядя на исходный код TransactionDefinition
, кажется, что невозможно использовать что-то более точное, чем секунды.)
См. Также: TransactionProperties
javax.persistence.query.timeout
Это подсказка для Query
.Он должен работать, если вы используете его так:
entityManager.createQuery("select e from SampleEntity e")
.setHint(QueryHints.SPEC_HINT_TIMEOUT, 1)
.getResultList();
См. Также QueryHints
spring.jdbc.template.query-timeout
Помните, что в соответствии с JdbcTemplate#setQueryTimeout
javadoc :
Любой указанный здесь тайм-аут будет переопределен оставшимся тайм-аутом транзакции при выполнении в транзакции, для которой в транзакции указан тайм-аутlevel.
hibernate.c3p0.timeout
Я подозреваю, что это свойство указывает время ожидания для получения из пула соединений, а не для выполнения запроса