Teste
Voltando a postar… vamos agora testar os códigos gerados no post anterior…

Com a classe Pessoa nas mãos vamos testar…

Vamos criar um pacote separado… pode ser br.meujpa.persistence

package br.meujpa.persistence;

import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import br.ucam.model.Pessoa;

public class Cadastra {

	private Pessoa pessoa;
        //nosso salvador...
	EntityManagerFactory emf = Persistence.createEntityManagerFactory("TrabalhoJPA");
	 //nosso salvador 2...
	EntityManager em = emf.createEntityManager();
	//tem q ter por padrao...
	public Cadastra(){}

        /*
esse amigao aki vai salvar os objetos no banco com muita simplicidade e humildade,
ele nao tem parametros, pois quando formos usa-lo no nosso projeto JPA, vamos usar Cadastro.pessoa,
logo teremos uma pessoa no nosso objeto pessoa, e vamos precisar apenas chamar salvar
para que ele se torne parte do nosso banco de dados.
*/
	public String salvar(){

		try {

			if((!pessoa.getOid().equals(""))){
//o entity manager é o cara que tem o papel de organizar as requisições ao banco
//ou seja ele cuida do trafego no banco
//ou seja seja bonzinho senão vc nao ganha presente no natal...
				EntityTransaction trans = em.getTransaction();
				trans.begin();
				em.persist(pessoa);
				trans.commit();
				pessoa = new Pessoa();
				pessoa.setOid(this.gerarId());
				return "sucesso";
			}
		} catch (Exception e) {
			e.printStackTrace();
		}

		return "fail";
	}

	//mesma coisa serve para o excluir
	public void excluir(){
		if(pessoa!=null){
			Pessoa m = em.find(Pessoa.class, this.pessoa.getOid());

			EntityTransaction trans = em.getTransaction();
			trans.begin();
			em.remove(m);
			trans.commit();
		}
	}

        //quando colocarmos pra rodar o jsf, vamos te o botao novo
       //esse botao se encarregara de chamar esse metodo
	public String novo() {
		pessoa = new Pessoa();
		pessoa.setOid(this.gerarId());
		return "novo";
	}

	public Pessoa getPessoa() {
		return pessoa;
	}

	public void setPessoa(Pessoa pessoa) {
		this.pessoa = pessoa;
	}

        //lista pesoas ordenando por nome
	@SuppressWarnings("unchecked")
	public List<Pessoa> getListPessoas() {
		return em.createQuery("from Pessoa order by nome").getResultList();
	}

        //ainda nao sei pegar automaticamente aiushiaush logo se alguem souber
        //por favor me passe que será de grande valia aiushiaushias
        //se for falar mau tbm sera bem vindo, se vier com uma ideia melhor q essa aki iuahsui
	public int gerarId(){
		try{
			return Integer.parseInt(em.createQuery("select max(oid) from Pessoa").getSingleResult().toString())+1;
		}catch (Exception e) {
			return 1;
		}
	}

	}

}

Classe Persisty (apenas para teste):

public class Persisty {

	public void persiste(){
		try{
			Pessoa p = new Pessoa();
			p.setOid(4);
			p.setNome("Paulo Diogo, Screp");
			p.setSexo("M");
			p.setCpf("XXX.XXX.XXX-XX");
			p.setIdentidade("999999999");
			p.setDtNasc("15/12/1987");

			Cadastra c = new Cadastra();
			c.setPessoa(p);
			c.salvar();
		}finally{
			System.out.println("OK!");
		}
	}
}

Colocando pra rodar:

vamos criar uma nova classe denominada AppTeste:

package br.meujpa.persistence;

public class AplicacaoTeste {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Persisty p = new Persisty();
		p.persiste();

	}

}

Simples assim...

Nenhum post foi relacionado a este