Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Recebendo N "cliente" e persistindo no banco

Galera estou tentando fazer uma aplicação que:

Receba N cadastros de clientes e persista cada um deles no banco de dados, ate a hora que eu apertar "enter".

Então eu criei um metodo main, nele eu estou usando o scanner para ir recebendo os atributos: nome,CPF, etc.

eu pensei e fazer um loop que vai recebendo cada hasNext que eu der no console e vai instanciando um tipo Cliente.

Ai eu fui tentar persistir cada cliente que eu instancio, e é nessa parte que eu travei. Porque o programa faz o primeiro loop, eu vou instanciando o cliente com um hasNext ate a hr que eu chego no ultimo, quando eu chego no ultimo hasNext eu dou enter ,e o sistema persiste esse Objeto. Em seguida eu queria que ele começasse o loop de novo, mas não é isso que acontece.

queria saber porque o sistema não está voltando pro começo do loop.

código do meu main

public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        EntityManager em = new JPAUtil().createEntityManager();
        Cliente cliente = new Cliente();
        em.getTransaction().begin();

        System.out.println("[[IMPORTANTE]Insira os dados na ordem: CPF,NOME,ATIVO ou INATIVO,SALDO]");
        do {
            System.out.println("CPF/CNPJ:");
            cliente.setCpf_cnpj(scan.nextLine());

            System.out.println("Nome:");
            cliente.setNm_customer(scan.nextLine());

            System.out.println("Ativo (ATIVO)/(INATIVO):");
            String ativo1 = null;
            try {
                ativo1 = scan.nextLine();
            } catch (Exception e) {
                System.out.println(e);
            }
            cliente.setIs_active(Ativo.valueOf(ativo1));

            System.out.println("Saldo R$:");
            cliente.setVl_total(scan.nextBigDecimal());

            em.persist(cliente);


        } while (scan.next().equals(""));

        em.getTransaction().commit();
        em.close();
    }

Ex: do console:

[[IMPORTANTE]Insira os dados na ordem: CPF,NOME,ATIVO ou INATIVO,SALDO]
CPF/CNPJ:
248721011735
Julio Gouveia
INATIVO
200Nome:
Ativo (ATIVO)/(INATIVO):
Saldo R$:

248721011735
Julio Gouveia
INATIVO
200
1 resposta
solução!

A ideia principal do exercicio que eu estou tendo fazer é essa:

Na sua aplicação, insira ‘N’ registros na tabela Cliente

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software