Hibernate 3 + Oracle Spatial

1 resposta
oracle11javahibernate
gustavodefreitasmene

Tenho um sistema java que usa Hibernate 3 e preciso executar uma query sql nativa com o Oracle Spatial. Ele chega a mostrar o SQL gerado - e se eu executar no prompt do banco ele funciona. Mas não executa diretamente pelo sistema. Se alguém puder me ajudar?

Segue código abaixo:

public void teste(String... args) throws DaoException{
        String sql= " UPDATE tr_rota SET rota_pontos_geodesico = SDO_CS.TRANSFORM(SDO_GEOMETRY (2002, 8307, null, MDSYS.SDO_ELEM_INFO_ARRAY(1,2,1), " +
                    " MDSYS.SDO_ORDINATE_ARRAY(" + args[0] + ")), 3785) " +
                    " WHERE rota_codigo = " + args[1];
        System.out.println(sql);
        getSession().createSQLQuery(sql).list();
    }

public static void main(String[] args) throws ServiceException, DaoException {
        //new Thread(new Simulacao()).start();
        
        TrRotaDaoImpl dao = new TrRotaDaoImpl();
        List<TrRota> l2 = dao.consultaPadrao(null, "2");
        
        for (TrRota rota : l2) {
            dao.teste2(rota.getRotaCoordenadas(), String.valueOf(rota.getRotaCodigo()));
        }
        
        System.out.println("executou");
        }
}

1 Resposta

javaflex

O metodo list() é para selects. Para este caso use executeUpdate(), ele retorna quantas linhas foram afetadas, dai você verifica isso.

Criado 18 de novembro de 2016
Ultima resposta 18 de nov. de 2016
Respostas 1
Participantes 2