Cita: Mencionar que el lenguaje es java....
El lenguaje de programación no es relevante, porque lo que nos interesa es el SQL. Programación es off-topic.
Ahora bien, mirando lo que nos interesa, tendríamos:
En este punto, no hay errores sintácticos, al menos detectables aquí, pero no podemos saber si el contenido de las variables no genera problemas, o tampoco el resultado lo estás enviando correctamente.
Ese es el problema de mostrarnos los códigos de programación: Esconden cosas importantes detrás de las variables.
Dinos exactamente cuál es el mensaje de error devuelto (no lo describas, cópialo y pégalo aquí), y posteanos la sentencia creada, una vez que los valores de las variables ya estén embebidas, es decir, lo que realmente MySQL está recibiendo.