bean error

Iniciado por Beginner Web, 6 Noviembre 2019, 03:04 AM

0 Miembros y 1 Visitante están viendo este tema.

Beginner Web

Cual es mi error en el bean? no me esta agregando lo que yo quiero solo agrega uno y al agregar otro me actualiza el que agregue

Código (java) [Seleccionar]
public class UsuarioBean implements Serializable {

    private Usuario usuario;
    private List<Usuario> listaUsuarios;
    private UsuarioDao usuarioDao;

    /**
     * Crea instancia de UsuarioBean
     */
    public UsuarioBean() {
        listaUsuarios = new ArrayList<>();
        usuarioDao = new UsuarioDaoImp();
    }

    /**
     * Genera una nueva lista de usuarios
     */
    public void generarUsuarios() {
        listaUsuarios = usuarioDao.obtener();
    }

    @PostConstruct
    public void iniciarLibro() {
        usuario = new Usuario();
        generarUsuarios();
    }

    public void registrar() {
        usuarioDao.registrar(usuario);
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }

    public List<Usuario> getListaUsuarios() {
        return listaUsuarios;
    }

    public void setListaUsuarios(List<Usuario> listaUsuarios) {
        this.listaUsuarios = listaUsuarios;
    }

    public UsuarioDao getUsuarioDao() {
        return usuarioDao;
    }

    public void setUsuarioDao(UsuarioDao usuarioDao) {
        this.usuarioDao = usuarioDao;
    }

}
7w7

WHK

No estás usando JPA?, supongo que usas spring por tus otros temas creados. Spring Boot + JPA utiliza repositorios y entidades para acceder y manejar datos, por ejemplo donde listas usuarios se ve que los obtienes de manera directa, o sea si tienes 300 mil usuarios tendrás un array en memoria de 300 mil objetos. Los repositorios de Spring ya tienen clases y anotaciones predefinidas para obtener resultados paginados y obtener de manera automática cada registro por campo.

Mira, dale un vistazo por acá: https://spring.io/guides/gs/accessing-data-jpa/

De todas maneras, si quieres continuar como lo estás haciendo es porque probablemente no existe una condicional a modo de contexto que indique sobre que registro de la base de datos estás trabajando, o sea, talves no tienes un id definido como objeto que sepa spring que es el identificador más que sólo un simple número en un campo, de esa manera por debajo le debiera agregar la sentencia where. Asi que pienso que si no está creando sino sobreescribiendo es porque no existe el where cuando hace las actualizaciones y talves no existe porque tu app no es capaz de manejar identificadores por registros.

Para estar más seguro habría que ver el resto del proyecto y tu base de datos, si tienes un git sería bueno que lo compartas para ir viendo que puede estar pasando.

Saludos.