JPA + SQL SERVER, PROBLEMAS CON UPDATE
Hola Amigos, les pido encarecidamente el favor y me ayuden, quisiera saber si esxiste algun problema entre JPA y SQL SERVER, he tenido problemas al ejecura las sentencia Update, les explico utilizo la clases controladoras, que genera Netbeans y bien funciona, se ejecuta el update exitosamente, pero horas despues vuelvo utilizarlo y ya no vuelve a funcionar.
utilizo SQL SERVER 2005
Driver JTDS
Este es uno de los metodos, los cuales con MYSQL siempre me han funcionado sin problemas, pero ahora usando SQL SERVER, en realidad no se que sucede y lo mas extraño es que no entra al Catch, por lo cual al parecer no se presenta niguna excepcion.
EntityManager em = getEntityManager();
try {
em.getTransaction().begin();
Query q = em.createQuery("UPDATE Guias g SET g.estado='Suspendido'"
+ " where g.numDocumento=:num" );
q.setParameter("num", n);
q.executeUpdate ();
em.getTransaction().commit();
}
catch(Exception e){
e.printStackTrace();
}
finally{
em.close();
}
}
- Inicie sesión o regístrese para enviar comentarios
Posible error en el criterio de actualizacion
en
query.update()
te retorna un entero, eso indica el numero de filas que han sido modificadas. Si te retorna 0 quizas pueda deberse a que el criterio de actualizacion no se esté cumpliento, verifica que es lo que recibes enString n
.Pues adicionalmente seria verificar los nombres de tus columnas en MySQL porque todo parece estar bien.
Un SELECT de prueba
Ahi mismo podrias tambien un query que te traiga el registro antes de modificarlo:
De esa forma te sabes que si coincide tu criterio
g.numDocumento=:num
Ok Revisare
Ya lo hare y mirare, te agradezco mucho
Gracias por la ayuda
Comprobe todos los parametros y no hay problemas, los insert me funcionan bien y los select tambien, el problema es con los update, intentare usar los Naviquery nuevamente, para ver si me funcionan.
Gracias
Ya verifique todo y tenia un problema con
java.util.Date y java.sql.Date
, me enviaba la feca formateada y no me la recibia el SQL SERVER, aunque lo extraño es que para los Insert no me molesta, solo los Update, muchas gracias nuevamente, ustedes ayudan a nosotros a ser mejores y arreglar nuestros pequeños incovenientes.creo que estas creando mal la
creo que estas creando mal la sentencia. Esta es la adecuada:
WHERE g.numDocumento='num'
Parametro :-)
la sentencia esta bien.... :num