Buenos días.
Mi problema es el siguiente:
Realice la implementación del código utilizando JPA para la generación de una tarjeta de coordenadas la cual creo a través de un método que genera números aleatorios y los añade a 7 listas, las cuales debo insertar en mi base de datos. Para la inserción utilizo un for para recorrer cada lista de la siguiente manera:
for (int j = 0; j < coordenadas.size(); j++) {
List coordenada = (List) coordenadas.get(j);
TarjetaCoordenadas registrarTarjCoord = new TarjetaCoordenadas();
registrarTarjCoord.setId(j+1);
registrarTarjCoord.setCoord1(Encriptador.encriptar SHA256(String.valueOf((Integer)coordenada.get(0))) );
registrarTarjCoord.setCoord2(Encriptador.encriptar SHA256(String.valueOf((Integer)coordenada.get(1))) );
registrarTarjCoord.setCoord3(Encriptador.encriptar SHA256(String.valueOf((Integer)coordenada.get(2))) );
registrarTarjCoord.setCoord4(Encriptador.encriptar SHA256(String.valueOf((Integer)coordenada.get(3))) );
registrarTarjCoord.setCoord5(Encriptador.encriptar SHA256(String.valueOf((Integer)coordenada.get(4))) );
registrarTarjCoord.setCoord6(Encriptador.encriptar SHA256(String.valueOf((Integer)coordenada.get(5))) );
registrarTarjCoord.setCoord7(Encriptador.encriptar SHA256(String.valueOf((Integer)coordenada.get(6))) );
registrarTarjCoord.setUsrId(idUsuario);
registrarTarjCoord.setEstatus(1);
registrarTarjCoord.setFechaEmision(new Date());
registrarTarjCoord.setCodigoTarjeta(codigoTarjeta) ;
this.usuarioDAO.createTarjCoordenadas(registrarTar jCoord);
}
El inconveniente que se me presenta es que para algunos casos me inserta dos juegos de tarjetas de coordenadas activas (en estatus 1) con codigos de tarjetas diferentes y los valores de la tarjeta también son diferentes. Estos códigos los genero a través de un método que invoco antes de llamar al método de inserción de los registros. Antes, realizo una validación para saber si en la tabla hay registros en estatus 1 y si existen no debe permitir la inserción de una nueva tarjeta. Pero, sin embargo este problema se presente de 3000 tarjetas generadas 4 se duplican de esta manera. Por favor alguien se le ha presentado un problema similiar o sabe por que me puede estar pasando esto, les agradecería su pronta ayuda.
Gracias.
Saludos.