Unable to configure EntityManagerFactory

11/08/2010

0


Ao executar o teste em minha dao ocorre o seguinte erro:

[PersistenceUnit: WebApplication] Unable to configure EntityManagerFactory

Utilizo Postgresql com Hibernate com anotações utilizando JPA

Alguem ja passou por este problema?
Erivando Ramos

Erivando Ramos

Responder

Posts

12/08/2010

Dyego Carmo

Opa !

Poderia colar o erro completo aqui ?

Obrigado !

Responder

12/08/2010

Erivando Ramos

Olá Dyego, estava acompanhando o curso "Desenvolvendo uma aplicação completa com JPA" e ao fazer os testes automatizados apresenta o erro abaixo ja na primeira DAO test e e nas outras o erro é o mesmo:
------------- Standard Error -----------------
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
------------- ---------------- ---------------
Testcase: testAdicionaUsuario(br.com.appcompleta.dao.UsuarioDAOTest):        Caused an ERROR
[PersistenceUnit: DesenAplicCompJPAPU] Unable to configure EntityManagerFactory
javax.persistence.PersistenceException: [PersistenceUnit: DesenAplicCompJPAPU] Unable to configure EntityManagerFactory
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:265)
        at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:125)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
        at br.com.appcompleta.util.JPAUtil.<init>(JPAUtil.java:22)
        at br.com.appcompleta.util.JPAUtil.getInstance(JPAUtil.java:27)
        at br.com.appcompleta.dao.UsuarioDAO.adicionaUsuario(UsuarioDAO.java:20)
        at br.com.appcompleta.dao.UsuarioDAOTest.testAdicionaUsuario(UsuarioDAOTest.java:55)
Caused by: org.hibernate.MappingException: Unable to find column with logical name: ID in org.hibernate.mapping.Table(usuarios) and its related supertables and secondary tables
        at org.hibernate.cfg.Ejb3JoinColumn.checkReferencedColumnsType(Ejb3JoinColumn.java:396)
        at org.hibernate.cfg.BinderHelper.createSyntheticPropertyReference(BinderHelper.java:102)
        at org.hibernate.cfg.ToOneFkSecondPass.doSecondPass(ToOneFkSecondPass.java:88)
        at org.hibernate.cfg.AnnotationConfiguration.processEndOfQueue(AnnotationConfiguration.java:456)
        at org.hibernate.cfg.AnnotationConfiguration.processFkSecondPassInOrder(AnnotationConfiguration.java:438)
        at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:309)
        at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1148)
        at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1226)
        at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:173)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:854)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:191)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:253)
Testcase: testExcluiUsuario(br.com.appcompleta.dao.UsuarioDAOTest):        Caused an ERROR
[PersistenceUnit: DesenAplicCompJPAPU] Unable to configure EntityManagerFactory
javax.persistence.PersistenceException: [PersistenceUnit: DesenAplicCompJPAPU] Unable to configure EntityManagerFactory
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:265)
        at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:125)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
        at br.com.appcompleta.util.JPAUtil.<init>(JPAUtil.java:22)
        at br.com.appcompleta.util.JPAUtil.getInstance(JPAUtil.java:27)
        at br.com.appcompleta.dao.UsuarioDAO.excluiUsuario(UsuarioDAO.java:28)
        at br.com.appcompleta.dao.UsuarioDAOTest.testExcluiUsuario(UsuarioDAOTest.java:71)
Caused by: org.hibernate.MappingException: Unable to find column with logical name: ID in org.hibernate.mapping.Table(usuarios) and its related supertables and secondary tables
        at org.hibernate.cfg.Ejb3JoinColumn.checkReferencedColumnsType(Ejb3JoinColumn.java:396)
        at org.hibernate.cfg.BinderHelper.createSyntheticPropertyReference(BinderHelper.java:102)
        at org.hibernate.cfg.ToOneFkSecondPass.doSecondPass(ToOneFkSecondPass.java:88)
        at org.hibernate.cfg.AnnotationConfiguration.processEndOfQueue(AnnotationConfiguration.java:456)
        at org.hibernate.cfg.AnnotationConfiguration.processFkSecondPassInOrder(AnnotationConfiguration.java:438)
        at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:309)
        at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1148)
        at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1226)
        at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:173)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:854)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:191)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:253)
Testcase: testExcluiUsuarioPorCod(br.com.appcompleta.dao.UsuarioDAOTest):        Caused an ERROR
[PersistenceUnit: DesenAplicCompJPAPU] Unable to configure EntityManagerFactory
javax.persistence.PersistenceException: [PersistenceUnit: DesenAplicCompJPAPU] Unable to configure EntityManagerFactory
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:265)
        at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:125)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
        at br.com.appcompleta.util.JPAUtil.<init>(JPAUtil.java:22)
        at br.com.appcompleta.util.JPAUtil.getInstance(JPAUtil.java:27)
        at br.com.appcompleta.dao.UsuarioDAO.adicionaUsuario(UsuarioDAO.java:20)
        at br.com.appcompleta.dao.UsuarioDAOTest.testExcluiUsuarioPorCod(UsuarioDAOTest.java:88)
Caused by: org.hibernate.MappingException: Unable to find column with logical name: ID in org.hibernate.mapping.Table(usuarios) and its related supertables and secondary tables
        at org.hibernate.cfg.Ejb3JoinColumn.checkReferencedColumnsType(Ejb3JoinColumn.java:396)
        at org.hibernate.cfg.BinderHelper.createSyntheticPropertyReference(BinderHelper.java:102)
        at org.hibernate.cfg.ToOneFkSecondPass.doSecondPass(ToOneFkSecondPass.java:88)
        at org.hibernate.cfg.AnnotationConfiguration.processEndOfQueue(AnnotationConfiguration.java:456)
        at org.hibernate.cfg.AnnotationConfiguration.processFkSecondPassInOrder(AnnotationConfiguration.java:438)
        at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:309)
        at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1148)
        at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1226)
        at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:173)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:854)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:191)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:253)
Testcase: testAtualizaUsuario(br.com.appcompleta.dao.UsuarioDAOTest):        Caused an ERROR
[PersistenceUnit: DesenAplicCompJPAPU] Unable to configure EntityManagerFactory
javax.persistence.PersistenceException: [PersistenceUnit: DesenAplicCompJPAPU] Unable to configure EntityManagerFactory
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:265)
        at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:125)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
        at br.com.appcompleta.util.JPAUtil.<init>(JPAUtil.java:22)
        at br.com.appcompleta.util.JPAUtil.getInstance(JPAUtil.java:27)
        at br.com.appcompleta.dao.UsuarioDAO.atualizaUsuario(UsuarioDAO.java:43)
        at br.com.appcompleta.dao.UsuarioDAOTest.testAtualizaUsuario(UsuarioDAOTest.java:107)
Caused by: org.hibernate.MappingException: Unable to find column with logical name: ID in org.hibernate.mapping.Table(usuarios) and its related supertables and secondary tables
        at org.hibernate.cfg.Ejb3JoinColumn.checkReferencedColumnsType(Ejb3JoinColumn.java:396)
        at org.hibernate.cfg.BinderHelper.createSyntheticPropertyReference(BinderHelper.java:102)
        at org.hibernate.cfg.ToOneFkSecondPass.doSecondPass(ToOneFkSecondPass.java:88)
        at org.hibernate.cfg.AnnotationConfiguration.processEndOfQueue(AnnotationConfiguration.java:456)
        at org.hibernate.cfg.AnnotationConfiguration.processFkSecondPassInOrder(AnnotationConfiguration.java:438)
        at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:309)
        at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1148)
        at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1226)
        at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:173)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:854)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:191)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:253)
Testcase: testRetornaUsuario(br.com.appcompleta.dao.UsuarioDAOTest):        Caused an ERROR
[PersistenceUnit: DesenAplicCompJPAPU] Unable to configure EntityManagerFactory
javax.persistence.PersistenceException: [PersistenceUnit: DesenAplicCompJPAPU] Unable to configure EntityManagerFactory
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:265)
        at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:125)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
        at br.com.appcompleta.util.JPAUtil.<init>(JPAUtil.java:22)
        at br.com.appcompleta.util.JPAUtil.getInstance(JPAUtil.java:27)
        at br.com.appcompleta.dao.UsuarioDAO.retornaUsuario(UsuarioDAO.java:50)
        at br.com.appcompleta.dao.UsuarioDAOTest.testRetornaUsuario(UsuarioDAOTest.java:115)
Caused by: org.hibernate.MappingException: Unable to find column with logical name: ID in org.hibernate.mapping.Table(usuarios) and its related supertables and secondary tables
        at org.hibernate.cfg.Ejb3JoinColumn.checkReferencedColumnsType(Ejb3JoinColumn.java:396)
        at org.hibernate.cfg.BinderHelper.createSyntheticPropertyReference(BinderHelper.java:102)
        at org.hibernate.cfg.ToOneFkSecondPass.doSecondPass(ToOneFkSecondPass.java:88)
        at org.hibernate.cfg.AnnotationConfiguration.processEndOfQueue(AnnotationConfiguration.java:456)
        at org.hibernate.cfg.AnnotationConfiguration.processFkSecondPassInOrder(AnnotationConfiguration.java:438)
        at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:309)
        at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1148)
        at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1226)
        at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:173)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:854)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:191)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:253)
Testcase: testListaTodosUsuarios(br.com.appcompleta.dao.UsuarioDAOTest):        Caused an ERROR
[PersistenceUnit: DesenAplicCompJPAPU] Unable to configure EntityManagerFactory
javax.persistence.PersistenceException: [PersistenceUnit: DesenAplicCompJPAPU] Unable to configure EntityManagerFactory
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:265)
        at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:125)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
        at br.com.appcompleta.util.JPAUtil.<init>(JPAUtil.java:22)
        at br.com.appcompleta.util.JPAUtil.getInstance(JPAUtil.java:27)
        at br.com.appcompleta.dao.UsuarioDAO.listaTodosUsuarios(UsuarioDAO.java:54)
        at br.com.appcompleta.dao.UsuarioDAOTest.testListaTodosUsuarios(UsuarioDAOTest.java:123)
Caused by: org.hibernate.MappingException: Unable to find column with logical name: ID in org.hibernate.mapping.Table(usuarios) and its related supertables and secondary tables
        at org.hibernate.cfg.Ejb3JoinColumn.checkReferencedColumnsType(Ejb3JoinColumn.java:396)
        at org.hibernate.cfg.BinderHelper.createSyntheticPropertyReference(BinderHelper.java:102)
        at org.hibernate.cfg.ToOneFkSecondPass.doSecondPass(ToOneFkSecondPass.java:88)
        at org.hibernate.cfg.AnnotationConfiguration.processEndOfQueue(AnnotationConfiguration.java:456)
        at org.hibernate.cfg.AnnotationConfiguration.processFkSecondPassInOrder(AnnotationConfiguration.java:438)
        at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:309)
        at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1148)
        at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1226)
        at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:173)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:854)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:191)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:253)
Test br.com.appcompleta.dao.UsuarioDAOTest FAILED
C:\Meus documentos\NetBeansProjects\DesenAplicCompJPA\nbproject\build-impl.xml:839: Some tests failed; see details above.
FALHA NA CONSTRUÇÃO (tempo total: 2 segundos)     Minha Unidade de Persistencia esta configurada assim:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
  <persistence-unit name="DesenAplicCompJPAPU" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <class>br.com.appcompleta.entidade.Usuario</class>
    <class>br.com.appcompleta.entidade.Produto</class>
    <class>br.com.appcompleta.entidade.Venda</class>
    <exclude-unlisted-classes>true</exclude-unlisted-classes>
    <properties>
      <property name="hibernate.connection.username" value="postgres"/>
      <property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
      <property name="hibernate.connection.password" value="123456"/>
      <property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/appcompleta"/>
      <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
      <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
    </properties>
  </persistence-unit>
</persistence>

Eu adicionei nas bibliotecas os JARs :
antlr-2.7.6.jar c3p0-0.9.1.jar
commons-collections-3.1.jar dom4j-1.6.1.jar dom4j.jar ejb3-persistence.jar hibernate3.jar hibernate-annotations.jar hibernate-cglib-repack-2.1_3.jar hibernate-commons-annotations.jar hibernate-entitymanager.jar hibernate-validator.jar javassist-3.4.GA.jar javassist.jar jta-1.1.jar log4j.jar postgresql-8.2-506.jdbc4.jar slf4j-api-1.5.2.jar slf4j-log4j12.jar
No NetBeans 6.8 em uma aplicação web com EE 5 selecionei JavaServer Faces e foi adicionado automaticamente
nas bibliotecas os JARs :

JSF 2.0 - jsf-api.jar
JSF 2.0 - jsf-impl.jar
JSTL 1.1- standard.jar
JSTL 1.1- jstl.jar

JDK 1.6 (Padrão)
Tomcat 6.0 (6.20)

Criei o banco de dados com PostgreSQL 8.2 e configurei uma conexão do Netbeans e consigo acesso as tabelas etc...

CREATE DATABASE appcompleta
  WITH OWNER = postgres
       ENCODING = 'LATIN1'
       TABLESPACE = pg_default;

...   CREATE TABLE usuarios
(
  codusuario integer NOT NULL,
  nome character varying(255),
  idade integer,
  "login" character varying(255),
  senha character varying(255),
  CONSTRAINT usuarios_pkey PRIMARY KEY (codusuario)
)
WITHOUT OIDS;
ALTER TABLE usuarios OWNER TO postgres;   ...
Já revisei todas as classes e está tudo ok, conforme as videos aulas.
Desconfio que o erro esta ao conectar o banco mais ainda não resovi...

Aguadeço se poder me ajudar a solucionar este erro "Unable to configure EntityManagerFactory"
Responder

12/08/2010

Erivando Ramos

Para complementar melhor segue a class Entity Usuario.java:
package br.com.appcompleta.entidade; import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;
import javax.persistence.*;   @Entity
@Table(name="usuarios")
public class Usuario implements Serializable {
    @Id
    @Column(name="codusuario")
    private Integer codusuario;     @Column(name="nome")
    private String nome;     @Column(name="idade")
    private int idade;     @Column(name="login")
    private String login;     @Column(name="senha")
    private String senha;     @OneToMany(mappedBy="codusuario",cascade=CascadeType.ALL)
    private List<Venda> vendasDoUsuario = new LinkedList<Venda>();     public Usuario() {     }     public Usuario(Integer codusuario) {
        this.codusuario = codusuario;
    }     public Usuario(Integer codusuario, String nome, int idade, String login, String senha, List<Venda> vendasDoUsuario) {
        this.codusuario = codusuario;
        this.nome = nome;
        this.idade = idade;
        this.login = login;
        this.senha = senha;
        this.vendasDoUsuario = vendasDoUsuario;
    }
    public void addVendas(Venda venda) {
        this.vendasDoUsuario.add(venda);
        venda.setCodusuario(this);
    }     public Integer getCodusuario() {
        return codusuario;
    }     public void setCodusuario(Integer codusuario) {
        this.codusuario = codusuario;
    }     public int getIdade() {
        return idade;
    }     public void setIdade(int idade) {
        this.idade = idade;
    }     public String getLogin() {
        return login;
    }     public void setLogin(String login) {
        this.login = login;
    }     public String getNome() {
        return nome;
    }     public void setNome(String nome) {
        this.nome = nome;
    }     public String getSenha() {
        return senha;
    }     public void setSenha(String senha) {
        this.senha = senha;
    }
        @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Usuario other = (Usuario) obj;
        if (this.codusuario != other.codusuario && (this.codusuario == null || !this.codusuario.equals(other.codusuario))) {
            return false;
        }
        return true;
    }     @Override
    public int hashCode() {
        int hash = 3;
        hash = 17 * hash + (this.codusuario != null ? this.codusuario.hashCode() : 0);
        return hash;
    }     public List<Venda> getVendasDoUsuario() {
        return vendasDoUsuario;
    }     public void setVendasDoUsuario(List<Venda> vendasDoUsuario) {
        this.vendasDoUsuario = vendasDoUsuario;
    }
   
}
Responder

13/08/2010

Dyego Carmo

Cola o restante das classes que tem referencia com a tabela usuarios

Obrigado.;

Responder

13/08/2010

Erivando Ramos

ok! Dyego, segue a classe UsuarioDAO.java
package br.com.appcompleta.dao; import br.com.appcompleta.entidade.Usuario;
import br.com.appcompleta.util.JPAUtil;
import java.util.List;
import javax.persistence.*;
public class UsuarioDAO {       public Integer adicionaUsuario(Usuario usr) {
        EntityManager em = JPAUtil.getInstance().getEntityManager();
        em.persist(usr);
        em.getTransaction().commit();
        em.close();
        return usr.getCodusuario();
    }       public void excluiUsuario(Usuario usr) {
        EntityManager em = JPAUtil.getInstance().getEntityManager();
        usr = em.getReference(Usuario.class, usr.getCodusuario());
        em.remove(usr);
        em.getTransaction().commit();
        em.close();
    }       public void excluiUsuarioPorCod(int codUsuario) {
        EntityManager em = JPAUtil.getInstance().getEntityManager();
        em.remove(em.find(Usuario.class, codUsuario));
        em.getTransaction().commit();
        em.close();
    }       public void atualizaUsuario(Usuario usr) {
        EntityManager em = JPAUtil.getInstance().getEntityManager();
        em.merge(usr);
        em.getTransaction().commit();
        em.close();
    }       public Usuario retornaUsuario(int codUsuario) {
        return JPAUtil.getInstance().getEntity(Usuario.class, codUsuario);
    }       public List<Usuario> listaTodosUsuarios() {
        return JPAUtil.getInstance().getList(Usuario.class, "select usr from Usuario usr");
    } }       Classe UsuarioDAOTest.java

package br.com.appcompleta.dao; import br.com.appcompleta.entidade.Usuario;
import java.util.List;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
public class UsuarioDAOTest {     public UsuarioDAOTest() {
    }     @BeforeClass
    public static void setUpClass() throws Exception {
    }     @AfterClass
    public static void tearDownClass() throws Exception {
    }     @Before
    public void setUp() {
    }     @After
    public void tearDown() {
    }     @Test
    public void testAdicionaUsuario() {
        System.out.println("adicionaUsuario");         Usuario usr = new Usuario();
        usr.setCodusuario(1);
        usr.setNome("ERIVANDO S. RAMOS");
        usr.setIdade(34);
        usr.setLogin("admin");
        usr.setSenha("admin");
       
        UsuarioDAO instance = new UsuarioDAO();
        Integer expResult = 1;
        Integer result = instance.adicionaUsuario(usr);
        assertEquals(expResult, result);
    }     @Test
    public void testExcluiUsuario() {
        System.out.println("excluiUsuario");         Usuario usr = new Usuario();
        usr.setCodusuario(1);
        usr.setNome("ERIVANDO SENA RAMOS");
        usr.setIdade(34);
        usr.setLogin("admin");
        usr.setSenha("123");         UsuarioDAO instance = new UsuarioDAO();
        instance.excluiUsuario(usr);         usr = instance.retornaUsuario(usr.getCodusuario());
        assertNull(usr);
    }     @Test
    public void testExcluiUsuarioPorCod() {
        System.out.println("excluiUsuarioPorCod");
        UsuarioDAO instance = new UsuarioDAO();         Usuario usr = new Usuario();
        usr.setCodusuario(1);
        usr.setNome("ERIVANDO S. RAMOS");
        usr.setIdade(34);
        usr.setLogin("admin");
        usr.setSenha("admin");
        Integer result = instance.adicionaUsuario(usr);
        instance.excluiUsuarioPorCod(result);         usr = instance.retornaUsuario(result);
        assertNull(usr);
    }     @Test
    public void testAtualizaUsuario() {
        System.out.println("atualizaUsuario");         Usuario usr = new Usuario();
        usr.setCodusuario(1);
        usr.setNome("ERIVANDO SENA RAMOS");
        usr.setIdade(34);
        usr.setLogin("admin");
        usr.setSenha("123");         UsuarioDAO instance = new UsuarioDAO();
        instance.atualizaUsuario(usr);
    }     @Test
    public void testRetornaUsuario() {
        System.out.println("retornaUsuario");
        int codUsuario = 1;
        UsuarioDAO instance = new UsuarioDAO();
        Usuario result = instance.retornaUsuario(codUsuario);
        assertEquals("123", result.getSenha());
    }     @Test
    public void testListaTodosUsuarios() {
        System.out.println("listaTodosUsuarios");
        UsuarioDAO instance = new UsuarioDAO();
        List<Usuario> result = instance.listaTodosUsuarios();
        assertTrue(result.size() > 0);
    } }
    Segue também classe JPAUtil.java

package br.com.appcompleta.util; import java.io.Serializable;
import java.util.List;
import javax.persistence.*;
public class JPAUtil {     private static JPAUtil me;
    private EntityManagerFactory emf;     private JPAUtil() {
        emf = Persistence.createEntityManagerFactory("DesenAplicCompJPAPU");
    }       public static JPAUtil getInstance() {
        if (me == null) {
            me = new JPAUtil();
        }
        return me;
    }       public EntityManager getEntityManager() {
        EntityManager toReturn = emf.createEntityManager();
        toReturn.getTransaction().begin();
        return toReturn;
    }       @SuppressWarnings("unchecked")
    public <T> List<T> getList(Class<T> classToCast,String jpql,Object... parameters) {
        List<T> toReturn = null;
        EntityManager em = getEntityManager();
        Query qr = em.createQuery(jpql);
        for (int i = 0; i < parameters.length; i++) {
            qr.setParameter(i+1, parameters[i]);
        }
        toReturn = qr.getResultList();
        em.getTransaction().commit();
        em.close();
        return toReturn;
    }       public <T> T getEntity(Class<T> entityClass,Serializable pk) {
        EntityManager em = getEntityManager();
        T toReturn = em.find(entityClass, pk);
        em.getTransaction().commit();
        em.close();
        return toReturn;
    } }
Responder

17/08/2010

Dyego Carmo

Você esqueceu da classe USUARIO !!!

Por favor cole aqui :)

Responder

17/08/2010

Erivando Ramos

segue a classe USUARIO
package br.com.appcompleta.entidade; import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;
import javax.persistence.*;   /**
 *
 * @author Erivando  *
 */   @Entity
@Table(name="usuarios")
public class Usuario implements Serializable {
        @Id
    @Column(name="codusuario")
    private Integer codusuario;       @Column(name="nome")
    private String nome;       @Column(name="idade")
    private int idade;       @Column(name="login")
    private String login;       @Column(name="senha")
    private String senha;       @OneToMany(mappedBy="codusuario",cascade=CascadeType.ALL)
    private List<Venda> vendasDoUsuario = new LinkedList<Venda>();     public Usuario() {     }       public Usuario(Integer codusuario) {
        this.codusuario = codusuario;
    }       public Usuario(Integer codusuario, String nome, int idade, String login, String senha, List<Venda> vendasDoUsuario) {
        this.codusuario = codusuario;
        this.nome = nome;
        this.idade = idade;
        this.login = login;
        this.senha = senha;
        this.vendasDoUsuario = vendasDoUsuario;
    }
    public void addVendas(Venda venda) {
        this.vendasDoUsuario.add(venda);
        venda.setCodusuario(this);
    }     public Integer getCodusuario() {
        return codusuario;
    }     public void setCodusuario(Integer codusuario) {
        this.codusuario = codusuario;
    }     public int getIdade() {
        return idade;
    }     public void setIdade(int idade) {
        this.idade = idade;
    }     public String getLogin() {
        return login;
    }     public void setLogin(String login) {
        this.login = login;
    }     public String getNome() {
        return nome;
    }     public void setNome(String nome) {
        this.nome = nome;
    }     public String getSenha() {
        return senha;
    }     public void setSenha(String senha) {
        this.senha = senha;
    }
        @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Usuario other = (Usuario) obj;
        if (this.codusuario != other.codusuario && (this.codusuario == null || !this.codusuario.equals(other.codusuario))) {
            return false;
        }
        return true;
    }       @Override
    public int hashCode() {
        int hash = 3;
        hash = 17 * hash + (this.codusuario != null ? this.codusuario.hashCode() : 0);
        return hash;
    }       public List<Venda> getVendasDoUsuario() {
        return vendasDoUsuario;
    }       public void setVendasDoUsuario(List<Venda> vendasDoUsuario) {
        this.vendasDoUsuario = vendasDoUsuario;
    }
   
}
Responder

06/09/2010

Erivando Ramos

Ja postei todas as classes, teria alguma solução para o meu problema?

abraço,


Responder

13/09/2010

Dyego Carmo

Opa !

Seu post estava lah em baixo e acabei nao vendo... vou ver melhor desde o inicio e posto uma resposta ateh amanha :)
Responder

01/10/2010

Erivando Ramos

ok, Dyego  fiko no aguardo!
Responder

01/10/2010

Erivando Ramos

ok, Dyego  fiko no aguardo!
Responder

01/10/2010

Euclides Filizola

Bom dia,

você criou um persistence name da seguinte forma:

persistence-unit name="DesenAplicCompJPAPU", ou seja, mostra aqui qual a classe que está carregando esse persistence "DesenAplicCompJPAPU".
Responder

06/10/2010

Erivando Ramos

Segue a classe JPAUtil.java package br.com.appcompleta.util; import java.io.Serializable; import java.util.List; import javax.persistence.*; public class JPAUtil { private static JPAUtil me; private EntityManagerFactory emf; private JPAUtil() { emf = Persistence.createEntityManagerFactory("DesenAplicCompJPAPU"); } public static JPAUtil getInstance() { if (me == null) { me = new JPAUtil(); } return me; } public EntityManager getEntityManager() { EntityManager toReturn = emf.createEntityManager(); toReturn.getTransaction().begin(); return toReturn; } @SuppressWarnings("unchecked") public List getList(Class classToCast,String jpql,Object... parameters) { List toReturn = null; EntityManager em = getEntityManager(); Query qr = em.createQuery(jpql); for (int i = 0; i < parameters.length; i++) { qr.setParameter(i+1, parameters[i]); } toReturn = qr.getResultList(); em.getTransaction().commit(); em.close(); return toReturn; } public T getEntity(Class entityClass,Serializable pk) { EntityManager em = getEntityManager(); T toReturn = em.find(entityClass, pk); em.getTransaction().commit(); em.close(); return toReturn; } }
Responder

06/10/2010

Erivando Ramos

Segue a classe JPAUtil.java

package br.com.appcompleta.util; import java.io.Serializable;
import java.util.List;
import javax.persistence.*;
public class JPAUtil {     private static JPAUtil me;
    private EntityManagerFactory emf;     private JPAUtil() {
        emf = Persistence.createEntityManagerFactory("DesenAplicCompJPAPU");
    }       public static JPAUtil getInstance() {
        if (me == null) {
            me = new JPAUtil();
        }
        return me;
    }       public EntityManager getEntityManager() {
        EntityManager toReturn = emf.createEntityManager();
        toReturn.getTransaction().begin();
        return toReturn;
    }       @SuppressWarnings("unchecked")
    public <T> List<T> getList(Class<T> classToCast,String jpql,Object... parameters) {
        List<T> toReturn = null;
        EntityManager em = getEntityManager();
        Query qr = em.createQuery(jpql);
        for (int i = 0; i < parameters.length; i++) {
            qr.setParameter(i+1, parameters[i]);
        }
        toReturn = qr.getResultList();
        em.getTransaction().commit();
        em.close();
        return toReturn;
    }       public <T> T getEntity(Class<T> entityClass,Serializable pk) {
        EntityManager em = getEntityManager();
        T toReturn = em.find(entityClass, pk);
        em.getTransaction().commit();
        em.close();
        return toReturn;
    } }
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar