Estou tendo problemas com o Annotations do HIBERNATE

Olá estou tendo um probleminha com o Annotations do Hibernate, comecei a usar conforme vem explicando o Livro do Edson Gonçalves - Desenvolvendo Aplicações Web… - porém depois que coloquei os annotations na classe e no hibernate.cfg.xml e cliente.hbm.xml, ele parou de funcionar não estar exibindo os dados e nem deixando inclui-los. Abaixo estar os codigos deles:

JAVA BEAN CLIENTE:

[code]package pontualtecnologia;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name=“cliente”)
@SuppressWarnings(“serial”)
public class Cliente implements java.io.Serializable {

private int codigo;
private String cliente;

public Cliente(){}

public Cliente(int codigo, String cliente){

this.codigo = codigo;
this.cliente = cliente;

}
public void setCodigo(int codigo){
this.codigo = codigo;
}
@Id
@Column(name=“codigo”)
public int getCodigo(){
return codigo;
}
public void setCliente(String cliente){
this.cliente = cliente;

}
@Column(name=“cliente”)
public String getCliente(){
return cliente;
}
}[/code]

O HIBERNATE.CFG.XML

[code]<?xml version="1.0" encoding="UTF-8"?>

com.mysql.jdbc.Driver jdbc:mysql://localhost/relbugs root 123456 org.hibernate.dialect.MySQLDialect [/code]

E O ConnectRelbugsFactory

[code]package relbugs.util;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
/import org.hibernate.cfg.Configuration;/
import org.hibernate.cfg.AnnotationConfiguration;

public class ConnectRelbugsFactory {
private static final SessionFactory sessionFactory;
private static final ThreadLocal threadLocal = new ThreadLocal();

static {
    try {
        sessionFactory = new AnnotationConfiguration()
                .configure("hibernate.cfg.xml")
                .buildSessionFactory();
    } catch (Throwable t) {
        throw new ExceptionInInitializerError(t);
    }

}
public static Session getInstance(){
Session session = (Session) threadLocal.get();
session = sessionFactory.openSession();
threadLocal.set(session);
return session;
}
}
[/code]

O Que pode estar acontecendo?

ABs

Diego

Alguém pode dar uma ajudinha aí…
Já tentei várias formas de colocar pra funcionar e nada ainda…

vlw!

qual erro esta dando? olha na saida do seu container

tente se livrar de configurações xml tente trocar para

            AnnotationConfiguration configuration = new AnnotationConfiguration();
            configuration.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
            configuration.setProperty("hibernate.connection.driver_class", "com.mysql.jdbc.Driver");
            configuration.setProperty("hibernate.connection.url", "jdbc:mysql://192.168.0.7:3306/BANCO");
            configuration.setProperty("hibernate.connection.username", "user");
            configuration.setProperty("hibernate.connection.password", "senha");
            configuration.setProperty("hibernate.order_updates", "true");
            configuration.setProperty("hibernate.show_sql", "false");
            configuration.setProperty("hibernate.format_sql", "true");
            configuration.setProperty("hibernate.hbm2ddl.auto", "update");
            configuration.setProperty("hibernate.current_session_context_class", "thread");
            for (Class clazz : getClasses("br.com.company.project.pojo")) {
                configuration.addAnnotatedClass(clazz);
            }
            
     //metodo privado para varrer o diretorio das classes(addAnotationClass) e
    //adicionar no contexto do hibernate pego por um de nossos colegas aqui do guj
    private static List<Class> getClasses(String pckgname) throws ClassNotFoundException {
        List<Class> classes = new ArrayList<Class>();
        ClassLoader cld = Thread.currentThread().getContextClassLoader();

        String path = pckgname.replace('.', '/');
        URL resource = cld.getResource(path);
        File directory = new File(resource.getFile());
        if (directory.exists()) {
            String[] files = directory.list();
            for (int i = 0; i < files.length; i++) {
                if (files[i].endsWith(".class")) {
                    classes.add(Class.forName(pckgname + '.' + files[i].substring(0, files[i].length() - 6)));
                }
            }
        }
        return classes;
    }


Assim… no Container… nao está dando erro nenhum… isso que estar me preocupando…

Ja tentei de várias formas… e mesmo assim nao deu resultado satisfatório

Alguem pode ajudar aí…?

Po… Pessoal…
Dá um ajuda aí… ALguem q é fera em Hibernate… pois tipo… senão vou ter que criar vários xmls…

vc não esta esquecendo de nunhum jar não?

tem + 2 pontos para observar:

1: hibernate recomenda que atributos inteiros sejam da classe Integer por exemplo

private Integer codigo; e não private int codigo;

outro é fazer get e seters dos atributos e implementar hash e code da chave primaria ok

Tipo…
Coloquei os 2 JAR’s que o Edson Gonçalves vem falando pra ser colocado para usar o Annotations o hibernate-annotations.jar e o ejb3-persistence.jar

E Assim… sobre o Int e o Integer posso até mudar, porém… nao vi nada sobre isso [b]"hibernate recomenda que atributos inteiros sejam da classe Integer por exemplo

private Integer codigo; e não private int codigo;

outro é fazer get e seters dos atributos e implementar hash e code da chave primaria"[/b]

E assim… antes de eu usar o Annotations… estava usando o Hibernate sem Annotations e funcionava corretamente…

Estou seguindo conforme o Livro… por isso que nao qria mudar a estrutura dele…
Depois que aprendesse essa parte… aí sim iria explorar outras formas de conexão usando o Hibernate…
Fiz assim… quando aprendi java desktop e deu certo…
rs

Mas obrigado pela ajuda…

tenet colocar hibernate-commons-annotations.jar e hibernate3.jar hibernate-entitymanager.jar

eu sei que vc esta seguindo um livro ai mas não deixe de dar uma olhada na doc original ok

http://www.hibernate.org/hib_docs/annotations/reference/en/pdf/hibernate_annotations.pdf

Pode deixar… vou olhar tbm… pois peguei a documentação dele todo… em forum…

Vlw, mesmo pela ajuda!!
Se eu nao conseguir eu post aqui de novo!

ok estamos ai :smiley: