Hibernate 3 + annotations

Olá Pessoal,

Seguinte estou ainda tentando usar o hibernate, to com a versão 3, li em um tutorial que nesta verão não é preciso mais criar um arquivo xml e usar o xdoclet.

Nesta apostila ensina a criar um método para geração do Schema para a exportação do Banco de Dados, quando método é executado ele fala que não existe o arquivo hbm.xml correspodente a classe.

Alguém tem alguma idéia ou material que possa me ajudar.

Muito Atenciosamente,

Paulo Henrique Peres

http://www.hibernate.org/hib_docs/v3/reference/en/html/

:wink:

Mostre o código do método para a exportação do BD…

Ai vai, tanto o código do método quanto a classe com as anotações.

Produto.java

import javax.ejb.GeneratorType;

@javax.ejb.Entity(name="Produto")
public class Produto {
    
    private Long id;
    private String descricao;
    
    
    public void setId(Long id){
        this.id = id;
    }
    
    
    @javax.ejb.Id(generate=GeneratorType.SEQUENCE)
    public Long getId(){
        return this.id;
    }
    
    public void setDecricao(String descricao){
        this.descricao = descricao;
    }
    
    @javax.ejb.Column(name = "descricao", nullable=true, length=50)
    public String getDescricao(){
        return this.descricao;
    }  
}

Método

public static void create(AnnotationConfiguration cfg){
      new SchemaExport(cfg).create(false,true);
}

Valeus,
Paulo

Eu crio uma classe HIbernateUtil.java dessa forma:

public class HibernateUtil {
 
    
    public static final SessionFactory sessionFactory;
    public static Configuration cfg;
        static {
        
            try {
                cfg= new AnnotationConfiguration()
                .addPackage("exemplo.classe")
                .addAnnotatedClass(Produto.class) 
                .setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLInnoDBDialect")
                .setProperty("hibernate.show_sql", "true")
                .setProperty("hibernate.connection.driver_class", "com.mysql.jdbc.Driver")
                .setProperty("hibernate.connection.url", "jdbc:mysql://localhost/hibernate")
                .setProperty("hibernate.connection.username", "root")
                .setProperty("hibernate.connection.password", "");
                
                
                sessionFactory =cfg.buildSessionFactory();
            } catch (Throwable ex) {
                // Log exception!
                throw new ExceptionInInitializerError(ex);
            }
        }

        public static Session getSession()
                throws HibernateException {
            
            return sessionFactory.openSession();
        }
    }

E pra exportar o BD, faço igual vc fez, porém, ao invés de criar apenas cfg, crio HibernateUtil.cfg:

public static void create(AnnotationConfiguration cfg){
       new SchemaExport(HibernateUtil.cfg).create(false,true);
 }

Vivi,

Fiz do jeito que vc mandou, porém, naum está compilando, veja este método

         public static org.hibernate.Session getSession() throws org.hibernate.HibernateException {         
             return sessionfactory.openSession();
         }

e o erro é este:

init:
deps-jar:
Compiling 1 source file to D:\_Cainfu\Hiber3\build\classes
D:\_Cainfu\Hiber3\src\HibernateUtil.java:24: illegal start of expression
         public static org.hibernate.Session getSession() throws org.hibernate.HibernateException {         
D:\_Cainfu\Hiber3\src\HibernateUtil.java:27: ';' expected
     }
2 errors
BUILD FAILED (total time: 0 seconds)

Outra dúvida, toda vez em que eu for rodar meu programa tenho que chamar a classe HibernateUtil, e para que serve exatemente a mesma, faria a mesma função do xdoclet para a geração dos hbm.xml.

Valeus
Paulo Henrique Peres

Vivi, resolvi, era um problema no código.

Mas ainda perdura uma dúvida, para que serve esta classe?

Muito Atenciosamente,
Paulo

Paulo onde vc conseguiu essa apostila, por favor se possivel me passe o link

Olá Ricardo, não lembro do link direito, porém coloquei ele aqui na pag. do laboratório que trabalho para vc baixar.

http://www.unipar.br/~lagg/paulo/fj21.pdf

Estava vendo q vc é de Paranavaí, bem perto daqui de Umuarama, vc faz faculdade lá?

Valeu,

Paulo

sim, cara faco faculdade aqui em paranavai na Unipar tb, hehe, valeu pela apostila

Ricardo,

Também faço facu na Unipar.

Valeu,

Paulo

heheeh, que legal hein

Oi Paulo, será que poderia me enviar essa apostila?
Estou tentando aprender hibernate e que ro começãr direto pela vs 3, mas está dificil de achar um tutorial mais simples para iniciantes…

meu email é rdo_marini@yahoo.com.br

Obrigado!!

Rodrigo.

galeraa baixem essa apostila no site da caelum

www.caelum.com.br

eh deles a apostila eh muito boa

[quote=pauloperes]Olá Ricardo, não lembro do link direito, porém coloquei ele aqui na pag. do laboratório que trabalho para vc baixar.

http://www.unipar.br/~lagg/paulo/fj21.pdf

Estava vendo q vc é de Paranavaí, bem perto daqui de Umuarama, vc faz faculdade lá?

Valeu,

Paulo[/quote]

Não estou conseguindo baixar a apostila…

você pode me passá-la por e-mail (raelbgl@yahoo.com.br) ou colocar um endereço para eu baixar?!

VALEU!!

Opa,

Baixe do site da caelum.

Aqui tem os cursos e suas respectivas apostilas

http://www.caelum.com.br/caelum/cursos.jsp

Ta aí o link.

[]'s

Dê uma olhada nesse screencast feita pela CAELUM.
Acho q deve te ajudar legal!! :wink:

http://blog.caelum.com.br/2007/05/15/screencast-primeiros-passos-para-a-jpa/

[]´s

Carlos

Bacana mesmo, o material todo está sendo muito útil.

Abraços