0
Well I’m having difficulty to perform an update on my database it is presenting the following Exception.
ERROR [org.springframework.security.web.Authentication.Usernamepasswordauthenticationfilter] (default task-11) An Internal error occurred while trying to authenticate the user.: org.springframework.security.authentication.Internalauthenticationserviceexception: Row was updated or Deleted by Another transaction (or Unsaved-value Mapping was incorrect) : [br.com.netservicos.sic.model.Folha#61] at org.springframework.security.authentication.dao.DaoAuthenticationProvider.retrieveUser(Daoauthenticationprovider.java:127) at org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider.authenticate(Abstractuserdetailsauthenticationprovider.java:144) at org.springframework.security.authentication.Providermanager.authenticate(Providermanager.java:174) at org.springframework.security.authentication.Providermanager.authenticate(Providermanager.java:199) at org.springframework.security.web.Authentication.UsernamePasswordAuthenticationFilter.attemptAuthentication(Usernamepasswordauthenticationfilter.java:94) at org.springframework.security.web.Authentication.AbstractAuthenticationProcessingFilter.doFilter(Abstractauthenticationprocessingfilter.java:218) at org.springframework.security.web.Filterchainproxy$Virtualfilterchain.doFilter(Filterchainproxy.java:331) at org.springframework.security.web.Authentication.logout.Logoutfilter.doFilter(Logoutfilter.java:121) at org.springframework.security.web.Filterchainproxy$Virtualfilterchain.doFilter(Filterchainproxy.java:331) at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(Csrffilter.java:124) at org.springframework.web.filter.Onceperrequestfilter.doFilter(Onceperrequestfilter.java:107) at org.springframework.security.web.Filterchainproxy$Virtualfilterchain.doFilter(Filterchainproxy.java:331) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(Headerwriterfilter.java:66) at org.springframework.web.filter.Onceperrequestfilter.doFilter(Onceperrequestfilter.java:107) at org.springframework.security.web.Filterchainproxy$Virtualfilterchain.doFilter(Filterchainproxy.java:331) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(Webasyncmanagerintegrationfilter.java:56) at org.springframework.web.filter.Onceperrequestfilter.doFilter(Onceperrequestfilter.java:107) at org.springframework.security.web.Filterchainproxy$Virtualfilterchain.doFilter(Filterchainproxy.java:331) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(Securitycontextpersistencefilter.java:106) at org.springframework.security.web.Filterchainproxy$Virtualfilterchain.doFilter(Filterchainproxy.java:331) at org.springframework.security.web.Filterchainproxy.doFilterInternal(Filterchainproxy.java:214) at org.springframework.security.web.Filterchainproxy.doFilter(Filterchainproxy.java:177) at org.springframework.web.filter.Delegatingfilterproxy.invokeDelegate(Delegatingfilterproxy.java:346) at org.springframework.web.filter.Delegatingfilterproxy.doFilter(Delegatingfilterproxy.java:262) at io.undertow.Servlet.core.Managedfilter.doFilter(Managedfilter.java:61) at io.undertow.Servlet.handlers.Filterhandler$Filterchainimpl.doFilter(Filterhandler.java:131) at io.undertow.Servlet.handlers.Filterhandler.handleRequest(Filterhandler.java:84) at io.undertow.Servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(Servletsecurityrolehandler.java:62) at io.undertow.Servlet.handlers.Servletdispatchinghandler.handleRequest(Servletdispatchinghandler.java:36) at org.wildfly.Extension.undertow.security.SecurityContextAssociationHandler.handleRequest(Securitycontextassociationhandler.java:78) at io.undertow.server.handlers.Predicatehandler.handleRequest(Predicatehandler.java:43)
pl.java:1161) ... 91 more
the method being used to perform the authentication is this.
@Transactional
    public UserDetails loadUserByUsername(String login) throws UsernameNotFoundException, DataAccessException {
        if (StringUtils.isEmpty(login)) {
            throw new UsernameNotFoundException("Não foi possível localizar o Usuário");
        }
        Optional<Usuario> optional = usuarioService.findByLogin(login);
        if (!optional.isPresent()) {
            LOGGER.error("Não foi possível localizar o login: {}", login);
            throw new UsernameNotFoundException("Não foi possível localizar o Usuário.");
        }
        Usuario usuario = optional.get();
        List<GrantedAuthority> authorities = usuarioService.carregarPerfil(usuario.getPerfil());
        Principal principal = new Principal(usuario.getId(), usuario.getNome(), usuario.getSobrenome(), usuario.getLogin(), usuario.getEmail(),
                usuario.getPerfil().getNome(), usuario.getSenha(), usuario.getSituacao(), authorities);
        LocalDate data = LocalDate.now();
        LocalTime entrada = LocalTime.now();
        LocalTime saidaAlmoco = LocalTime.now();
        LocalTime voltaAlmoco = LocalTime.now();
        LocalTime saida = LocalTime.now();
        List<Folha> findDateUser = folhaService.findByDateAndUser(data, usuario.getId());
        if(findDateUser.size() == 0){
            Folha folha = new  Folha();
            folha.setData(data);
            folha.setUsuario(usuario);
            folhaDAO.persistir(folha);
        } else if(findDateUser.size() != 0){
            Folha folhaEntrada = new Folha();
            long idFolha = 0;
            idFolha = findDateUser.iterator().next().getIdFolha();
            folhaEntrada.setIdFolha(idFolha);
            folhaEntrada.setData(data);
            folhaEntrada.setUsuario(usuario);
            folhaEntrada.setEntrada(entrada);
            folhaDAO.update(folhaEntrada);
        }
        return principal;
    }
}
the problem is the moment I get the id of the sheet entity I hope they can help me.