llamada a procedimiento base de datos
Publicado por simon (2 intervenciones) el 24/10/2014 12:14:19
Estoy intentando llamar al procedimiento eliminar_tarea de la base de datos de esta manera.
Me sale un error org.hibernate.exception.GenericJDBCException: could not execute query
Pero que con el catch, sigue adelante y me hace lo que yo quiero sin problemas.
Quería saber si hay alguna otra manera de hacerlo un poco menos chapucera con el query.excuteUpdate o con algo que no arroje el error y no haya que hacer el catch.
He leido algo de hacerlo con CallableStatement proc pero no me entero muy bien esque soy un poco novato.
Gracias.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@Override
public void borrarTarea(String idTarea) {
try{
StringBuffer cadena = new StringBuffer();
if (idTarea!=null && !idTarea.equals(""))
{
cadena.append(" call ELIMINAR_TAREA_ID(?) ");
Query query = em.createNativeQuery(cadena.toString(), super.persistentClass);
query.setParameter(1,idTarea);
query.getResultList();
//query.executeUpdate();
}
} catch (GenericJDBCException ex) {
logger.debug("excepcion controlada.");
} catch (Exception ex){
logger.error(Thread.currentThread().getStackTrace()+": "+ex.getMessage());
}
}
Pero que con el catch, sigue adelante y me hace lo que yo quiero sin problemas.
Quería saber si hay alguna otra manera de hacerlo un poco menos chapucera con el query.excuteUpdate o con algo que no arroje el error y no haya que hacer el catch.
He leido algo de hacerlo con CallableStatement proc pero no me entero muy bien esque soy un poco novato.
Gracias.
Valora esta pregunta


0