.body("Error de integridad de datos: "+ex.getMessage());
}
//Restricción única o una clave foránea que no se cumple al realizar operaciones de persistencia en la base de datos Como por ejemplo un ID que no se encuentre en la BDD.
@@ -206,12 +208,13 @@ public class ServiceUzyTUsuario implements IServiceUzyTUsuario {
...
@@ -206,12 +208,13 @@ public class ServiceUzyTUsuario implements IServiceUzyTUsuario {
try{
try{
ModelUzyTUsuariousuario=daoUzyTUsuario.findById(uzytusuario_id).orElseThrow(()->newResourceNotFoundException("Usuario no encontrado con ID: "+uzytusuario_id));
ModelUzyTPerfilperfil=daoUzyTPerfil.findById(uzytperfil_id).orElseThrow(()->newResourceNotFoundException("Perfil no encontrado con ID: "+uzytperfil_id));
.orElseThrow(()->newResourceNotFoundException("Usuario no encontrado con ID: "+uzytusuario_id));
ModelUzyTPerfilperfil=daoUzyTPerfil
.findById(uzytperfil_id).orElseThrow(()->newResourceNotFoundException("Perfil no encontrado con ID: "+uzytperfil_id));
if(usuario.getUzytperfils().contains(perfil)){
if(usuario.getUzytperfils().contains(perfil)){
thrownewInvalidArgumentException("El perfil ya está asignado al usuario.");
thrownewInvalidArgumentException("El perfil ya está asignado al usuario.");
}
}
// Aquí asigno el perfil al usuario
// Aquí asigno el perfil al usuario
usuario.getUzytperfils().add(perfil);
usuario.getUzytperfils().add(perfil);
daoUzyTUsuario.save(usuario);
daoUzyTUsuario.save(usuario);
...
@@ -233,6 +236,7 @@ public class ServiceUzyTUsuario implements IServiceUzyTUsuario {
...
@@ -233,6 +236,7 @@ public class ServiceUzyTUsuario implements IServiceUzyTUsuario {
#EntityManager se cierra despus de que se completa la transaccin HTTP. Esto permite un mejor control sobre cundo se accede a la base de datos y cundo se liberan los recursos.