Why is the data blank when changing a data in phpMyAdmin using Hibernate JPA? I am using Nextline

Asked

Viewed 29 times

0

package loja;

import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

public class Loja {


**Conexão: Loja**

    private static EntityManagerFactory loja;

        public static EntityManagerFactory get() {
            if(loja == null) {
                loja = Persistence.createEntityManagerFactory("lojaGamesPU");
            } return loja;
        }

    }

Class: Daoestado

package dao;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;

import entidade.Estado;
import loja.Loja;

public class DAOEstado {

    private EntityManager gerenciador;
    private EntityTransaction transacao;

    public Estado Inserir(Estado estado) {
        try {
            EntityManagerFactory loja = Loja.get();
            gerenciador = loja.createEntityManager();
            transacao = gerenciador.getTransaction();

            transacao.begin();
            gerenciador.persist(estado);
            transacao.commit();
        } catch (Exception e) {
            e.printStackTrace();
            transacao.rollback();
        }
        return estado;
    }

    public Estado Remover(Estado estado) {
        try {
            EntityManagerFactory loja = Loja.get();
            gerenciador = loja.createEntityManager();
            transacao = gerenciador.getTransaction();

            transacao.begin();
            estado = gerenciador.find(Estado.class, estado.getId());
            gerenciador.remove(estado);
            transacao.commit();
        } catch (Exception e) {
            e.printStackTrace();
            transacao.rollback();
        }
        return estado;
    }

    public Estado Alterar(Estado estado) {
        try {
            EntityManagerFactory loja = Loja.get();
            gerenciador = loja.createEntityManager();
            transacao = gerenciador.getTransaction();

            transacao.begin();
            gerenciador.merge(estado);
            transacao.commit();
        } catch (Exception e) {
            e.printStackTrace();
            transacao.rollback();
        }
        return estado;
    }

    public List<Estado> Buscar() {
        try {

            EntityManagerFactory loja = Loja.get();
            gerenciador = loja.createEntityManager();

            return gerenciador.createQuery("from Estado").getResultList();

        } catch (Exception e) {
            e.printStackTrace();
            transacao.rollback();
        } finally {
            gerenciador.close();
        }
        return null;

    }
}

Class: Telaestado

package tela;

import java.util.List;
import java.util.Scanner;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import dao.DAOEstado;
import entidade.Estado;

public class TelaEstado {

    EntityManagerFactory loja = Persistence.createEntityManagerFactory("lojaGamesPU");

    EntityManager gerenciador = loja.createEntityManager();

    private Scanner scan = new Scanner(System.in);  
    private String menu = "---- MENU ESTADO ----"+
    "\n 1 - Inserir: \n 2 - Buscar: \n 3 - Alterar: \n 4 - Excluir: \n 5 - Sair: \n"+
    "---------------------";

    public TelaEstado() {

        String r = "s";
        int opcao = 0;
        do {
            do {
                System.out.println(menu);
                opcao = scan.nextInt();
                scan.nextLine();
            } while (opcao < 1 && opcao > 4);

            if (opcao == 1) {

                Estado estado = new Estado();
                DAOEstado dao = new DAOEstado();
                System.out.println("-----------------");
                System.out.println("Digite o estado: ");
                String nome = scan.nextLine();              
                estado.setNome(nome);

                System.out.println("----------------");
                System.out.println("Digite a sigla: ");
                String sigla = scan.nextLine();
                estado.setSigla(sigla);             

                dao.Inserir(estado);

            } else if (opcao == 2) {

                DAOEstado dao = new DAOEstado();

                System.out.println(" --- LISTAR TODOS OS ESTADOS ---");
                List<Estado> est = dao.Buscar();

                for (Estado estado : est) {
                    System.out.println(" -------------------------------------------------------------------------");
                    System.out.println("Id: "+estado.getId()+" - Estado: "+estado.getNome()+" - "+estado.getSigla());

                }

            } else if (opcao == 3) {

                Estado estado = new Estado();
                DAOEstado dao = new DAOEstado();

                System.out.println("---------------------------------------");
                System.out.println("Informe o ID para realizar a aleração: ");
                estado.setId(scan.nextLong());              
                System.out.println("Digite o novo nome: ");
                estado.setNome(scan.nextLine());
                scan.nextLine();

                System.out.println("Digite a nova sigla: ");                
                estado.setSigla(scan.nextLine());               

                System.out.println("--- Alterando ---");

                dao.Alterar(estado);

            } else if (opcao == 4) {

                Estado estado = new Estado();
                DAOEstado dao = new DAOEstado();
                System.out.println("---------------------------------------");
                System.out.println("Informe o ID para realizar a exclusão: ");
                estado.setId(scan.nextLong());
                scan.nextLine();
                dao.Remover(estado);

            } else if (opcao == 5) {

                System.out.println("---- Fechando o Sistema ----");
                break;
            }

            System.out.println("Continuar? (s/n)");
            r = scan.nextLine();
    } while (r.contentEquals("s"));

    }
}
  • Put the method code change , also put as it is staying in the bank.

  • I posted the code, in the bank in the name column is blank after the change, to insert and delete is normal.

  • if it were nextLine the column Acronym tbm would be blank , as is the entity state ?

  • Maycon, run your code fully so we can simulate the problem here and help you. Help us help you, otherwise it will be difficult for anyone to help you.

  • Okay, I put all the code relating to the connection and the classes.

  • DBMS is Mysql, phpMyAdmin is just a tool to work with this DBMS.

Show 1 more comment
No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.