Erro hibernate

3 respostas
andrejusti

Oii pessoal estou com um problema com hibernate, o qual não consigo ver o erro...

tenho a entidade enquete;

import java.io.Serializable;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;

@Entity
public class Enquete implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer id;
    private int status;
    @Column(columnDefinition = "Text")
    private String pergunta;
    @Column(columnDefinition = "Text")
    private String questao1;
    private int questao1_votos;
    @Column(columnDefinition = "Text")
    private String questao2;
    private int questao2_votos;
    @Column(columnDefinition = "Text")
    private String questao3;
    private int questao3_votos;
    @Column(columnDefinition = "Text")
    private String questao4;
    private int questao4_votos;
    @OneToMany(mappedBy = "enquete")
    private List<ComentarioEnquete> comentarioEnquetes;

//gets e sets

e tenho outra que se chama ComentarioEnquete

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;

@Entity
public class ComentarioEnquete implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer id;
    private String nome;
    private String email;
    @Column(columnDefinition = "Text")
    private String comentario;
    @ManyToOne
    private Enquete enquete;

//gets e sets

e estou testando dessa forma...

public static void main(String args[]) {
        Enquete enquete = new Enquete();
        enquete.setPergunta("Oque você achou do site dukatitec?");
        enquete.setStatus(0);
        enquete.setQuestao1("Otimo");
        enquete.setQuestao1_votos(10);
        enquete.setQuestao2("Bom");
        enquete.setQuestao2_votos(23);
        enquete.setQuestao3("Regular");
        enquete.setQuestao3_votos(3);
        enquete.setQuestao4("Ruim");
        enquete.setQuestao4_votos(0);
        EnqueteDAO enqueteDAO = new EnqueteDAO();
        enqueteDAO.insertEnquete(enquete);

    }

só na hora que executo gera o seguinte erro...

22/09/2009 21:47:06 org.hibernate.cfg.annotations.Version <clinit>
INFO: Hibernate Annotations 3.3.1.GA
22/09/2009 21:47:06 org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.2.5
22/09/2009 21:47:06 org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
22/09/2009 21:47:06 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
22/09/2009 21:47:06 org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
22/09/2009 21:47:06 org.hibernate.ejb.Version <clinit>
INFO: Hibernate EntityManager 3.3.2.GA
Exception in thread "main" javax.persistence.PersistenceException: [PersistenceUnit: dukatitecPU] class or package not found
        at org.hibernate.ejb.Ejb3Configuration.addNamedAnnotatedClasses(Ejb3Configuration.java:1092)
        at org.hibernate.ejb.Ejb3Configuration.addClassesToSessionFactory(Ejb3Configuration.java:871)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:758)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:191)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:253)
        at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:125)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
        at br.com.dukatitec.utils.PrincipalDAO.<init>(PrincipalDAO.java:15)
        at br.com.dukatitec.enquete.dao.EnqueteDAO.<init>(EnqueteDAO.java:10)
        at TESTES.teste.main(teste.java:20)
Caused by: java.lang.ClassNotFoundException: br.com.dukatitec.enquete.entity.CometarioEnquete
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:112)
        at org.hibernate.ejb.Ejb3Configuration.classForName(Ejb3Configuration.java:1008)
        at org.hibernate.ejb.Ejb3Configuration.addNamedAnnotatedClasses(Ejb3Configuration.java:1080)
        ... 10 more
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 1 segundo)

PESSOAL NÃO CONSIGO VER MEU ERRO,
ALGUEM TEM UMA LUZ?

desde ja obrigado...

3 Respostas

Alexandre_Saudate

Poste seu persistence.xml pra gente ver…

andrejusti

persistence.xml

<?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="dukatitecPU" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <class>br.com.dukatitec.enquete.entity.ComentarioEnquete</class>
    <class>br.com.dukatitec.enquete.entity.Enquete</class>
    <exclude-unlisted-classes>true</exclude-unlisted-classes>
    <properties>
      <property name="hibernate.connection.username" value="root"/>
      <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
      <property name="hibernate.connection.password" value=""/>
      <property name="hibernate.connection.url" value="jdbc:mysql://localhost/dukatitec"/>
      <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
      <property name="hibernate.hbm2ddl.auto" value="update"/>
    </properties>
  </persistence-unit>
</persistence>

DAOS

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

public abstract class PrincipalDAO {

    private EntityManagerFactory emf;
    private EntityManager em;
    private EntityTransaction et;

    public PrincipalDAO() {
        emf = Persistence.createEntityManagerFactory("dukatitecPU");
        em = emf.createEntityManager();
        et = em.getTransaction();
    }

    public EntityManagerFactory getEmf() {
        return emf;
    }

    public EntityManager getEm() {
        return em;
    }

    public EntityTransaction getEt() {
        return et;
    }
}
metodo pra inserir
import br.com.dukatitec.enquete.entity.Enquete;
import br.com.dukatitec.utils.PrincipalDAO;
import javax.persistence.EntityTransaction;

import java.util.List;
import javax.persistence.Query;

public class EnqueteDAO extends PrincipalDAO {

    public void insertEnquete(Enquete enquete) {

        EntityTransaction t = getEm().getTransaction();
        t.begin();
        try {
            getEm().persist(enquete);
            t.commit();
        } catch (Exception e) {
            e.printStackTrace();
            t.rollback();
        }

    }

desde ja valeu parcero

andrejusti

Alguem pode me da um help ai pessoal?

valeu

Criado 22 de setembro de 2009
Ultima resposta 22 de set. de 2009
Respostas 3
Participantes 2