Как установить тайм-аут запроса по умолчанию с JPA и Быть в спящем режиме?

Я делаю, некоторые большие запросы на моей базе данных с В спящем режиме, и я иногда поражал тайм-ауты. Я хотел бы постараться не устанавливать тайм-аут вручную на каждом Query или Criteria.

Есть ли свойство, которое я могу дать моему Быть в спящем режиме конфигурация, которая установила бы приемлемое значение по умолчанию для всех запросов, которые я выполняю?

В противном случае, как я могу установить значение тайм-аута по умолчанию на, в спящем режиме запросы?

12
задан Vlad Mihalcea 10 July 2019 в 14:46
поделиться

2 ответа

JPA 2 Определяет javax.persistence.warery.timeout Подсказка, чтобы указать время ожидания по умолчанию в миллисекундах. Hibernate 3.5 (в настоящее время все еще в бета-версии) поддержит этот намек.

Смотрите также https://hibernate.atlassian.net/browse/hhhh-4662

9
ответ дан 2 December 2019 в 20:40
поделиться

Вот несколько способов:

  • Используйте фабричный или базовый метод класса для создания всех запросов и установить время ожидания, прежде чем возвращать объект запроса
  • Создайте свою собственную версию ORG. HiBernate .Loader.Loader и установить TimeOut в DoQuery
  • Использовать AOP, например Весна, чтобы вернуть прокси для сеанса; Добавьте его совет, который обернут метод CreateQuery и устанавливает тайм-аут на объекте запроса перед его возвращением
1
ответ дан 2 December 2019 в 20:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: