No entiendo porque tenemos que usar el + cuando no hay que concatenar ningun dato, ya que va con "?" podría ir toda la consulta entre un par de comillas y listo?
PreparedStatement statement = con .prepareStatement("UPDATE PRODUCTO SET "
+ " NOMBRE = ?, "
+ " DESCRIPCION = ?,"
+ " CANTIDAD = ?"
+ " WHERE ID = ?");