Как бросить TimeOutException в Hibernate, когда запрос занимает больше времени? - PullRequest
0 голосов
/ 14 мая 2019

Когда мой запрос иногда выполняется более 30 минут.Я хочу выдать timeoutQueryException

Я использую версию Hibernate 5.4.0 и Java 1.8 для подключения к серверу Oracle 12c

Я использую этот блок кода.Я установил timeOut, но это не работает.Когда требуются длительные запросы, никаких других исключений для лица мне приходится ждать ответа

public List<EntityModel> search(EntityModel model) {
    List list = new ArrayList<EntityModel>();
    try {

        Criteria criteria = createCriteria(model);

        if (criteria != null) {
            int maxResults = PropertyUtil.getDBMaxResults();
            criteria.setMaxResults(maxResults);


            appendProjections(criteria);
            appendReadDescriptor(criteria);
            appendTransformer(criteria);
            criteria.setTimeout(10000);//setting 10 second but it is not work

            list = criteria.list();

        }
    } catch (Exception e) {

    }
    return list;
}

1 Ответ

0 голосов
/ 20 мая 2019
@Transactional(timeout=10)
@Override
public List<EntityModel> search(EntityModel model) {

}

С пружиной работает аннотация транзакции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...