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
Posts
12/08/2010
Erivando Ramos
------------- 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"
12/08/2010
Erivando Ramos
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;
}
}
13/08/2010
Dyego Carmo
Obrigado.;
13/08/2010
Erivando Ramos
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;
} }
17/08/2010
Dyego Carmo
Por favor cole aqui :)
17/08/2010
Erivando Ramos
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;
}
}
06/09/2010
Erivando Ramos
abraço,
13/09/2010
Dyego Carmo
Seu post estava lah em baixo e acabei nao vendo... vou ver melhor desde o inicio e posto uma resposta ateh amanha :)
01/10/2010
Euclides Filizola
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".
06/10/2010
Erivando Ramos
06/10/2010
Erivando Ramos
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;
} }
Clique aqui para fazer login e interagir na Comunidade :)