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