JFrame + JPA + Banco de dados

2 respostas
R

Olá amigos!
Fiz um trabalho usando JFrame: São 4 telas (uma tela inicial com 4 botões: Produto, Cliente, Fornecedor e Sair; cada um desses botões chama outra tela e sair fecha os Frames.)
Bem: As telas que são chamadas possuem 6 botões cada (consultar,incluir,excluir,alterar,salvar e sair).
Nesse trabalho preciso usar JPA e fazer as operações CRUD. Colocando em cada botão a sua respectiva ação.
Estou usando SQL Server 2000 e TopLink.
Criei 3 classes de persistência (Produto, Cliente e Fornecedor)
Criei um JpaController para cada uma delas.
Preciso criar a ação de cada botão; por exemplo: No botão incluir preciso gravar os dados na tabela, como seria feito essa função. Tentei passar um Insert Into mas não rolou…

incluir.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {

???
  
        }
    });

Desde já agradeço!

2 Respostas

Andre_Brito

Primeiro, coloque seus códigos entre as tags code.

Segundo, se você está usando JPA provavelmente não vai usar “Insert Into”, mas sim vai chamar o método persist do EntityManager. Onde tem “???” você poderia chamar um controlador, que chamaria um DAO que tem o método inserir, remover, atualizar e blablabla.

Algo assim:

public void actionPerformed(ActionEvent event) { new IncluirController(getObjetoPraIncluir()).inserir(); }

// Classe IncluirController public void inserir(TipoDoObjeto objeto) { getDaoQuePrecisoDependendoDoTipoDeObjetoAInserir().inserir(objeto); }
E por aí vai.
Você pode até fazer um SQL no código da view, mas isso é muito feio. Se você precisar mudar pra JavaFX ou SWT ou qualquer outra coisa, como fica? O interessante é delegar pra alguma outra classe que vai validar e inserir, por exemplo. Dessa forma, você pode mudar pra o que for, que essa parte de validação, inserção e mais alguma coisa que você precisa nunca precisa mudar. Só a view muda. Nem o jeito de chamar muda.

Tendeu?

R

Valeu André…

Usei os controladores que o JPA disponibiliza… jpa.Edit, jpa.destroy, etc…

Deu pro gasto…

Brigadão cara!!!

Criado 15 de novembro de 2010
Ultima resposta 17 de nov. de 2010
Respostas 2
Participantes 2