Boa tarde a todos estou com um problema que me está fazendo arrancar os cabelos…
É o seguinte , tenho uma tela , que um usuário digita qualquer slq, tanto insert, update , select …etc…, abaixo o código no java onde está o problema :
@SuppressWarnings("unchecked")
public List<List> listaComSql(final String sql) throws UnisException {
return (List<List>)genericEntityDao.getHibernateTemplate().execute(
new HibernateCallback() {
public Object doInHibernate(final Session session) {
SQLQuery q = session.createSQLQuery(sql);
q.setResultTransformer(Transformers.TO_LIST );
return q.list();
}
});
O problema é que se o comando é um select , então o q.list() retorna algo , nem que seja uma lista vazia , se é outra coisa (insert, update)ele não cria essa list() , e o programa acaba gerando esse erro ao tentar retornar o q.list() “ERROR [JDBC EXCEPTION] NO RESULT FOR SQL”.
Eu preciso diferenciar se o retorno vai ter uma lista ou não , ou poder diferenciar se o resultado da operação tem um retorno ou não , tá brabo, não consigo testar isso, :x