当我的查询有时需要超过30分钟才能运行时。我想抛出timeoutqueryException
我正在使用Hibernate 5.4.0版本,并使用Java 1.8连接到Oracle 12c Server
我正在使用此代码块。我设置了超时,但这是不起作用的。当花费很长时间的查询没有其他脸部例外,我必须等待回复
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;
}
@Transactional(timeout=10)
@Override
public List<EntityModel> search(EntityModel model) {
}
使用春季交易注释。