Às vezes no Hibernate da essa exceção:
Caused by: java.sql.BatchUpdateException: Tempo de espera (timeout) de travamento excedido. Tente reiniciar a transação.
E isso sempre ocorre depois de erros no Dao's portanto acho que estou fazendo algo que me dê esse erro.
Exemplo:
public List<?> getList() throws Exception {
try {
tento fazer algo...
} catch(GenericJDBCException e) {
throw new DaoException("Não foi possível acessar o servidor. Tente novamente em alguns minutos.", e);
} catch(Exception e) {
throw new FlexException("Ocorreu um erro não reconhecido pelo sistema.Entre em contato com o suporte para solucionar esse problema.", e);
}
}
Quando dá um erro na transação o correto é eu fazer um rollback na transação e fechar a sessão?
Quais outras práticas são necessárias para evitar erros posteriores?

