Hibernate annotations

Fala comunidade

To tendo dificuldade no primeiro contato com as annotations

Bom o banco de dados que estou usando e o MYSQL

CREATE TABLE CHRONO (
BARRA INTEGER NOT NULL,
NOME VARCHAR(255) NOT NULL,
PRIMARY KEY(BARRA)
);

AQUI MEU ARQUIVO DE CONFIGURAÇÃO HIBERNATE.CFG.XML

<?xml version="1.0" encoding="utf-8"?> false org.gjt.mm.mysql.Driver jdbc:mysql://localhost:3306/chrono root org.hibernate.dialect.MySQLDialect

MINHA CLASSE QUE CONTEM OS GETs E OS SETs QUE FIZ USANDO O
HIBERNATE TOOLS

package br;

// default package
// Generated 14/08/2006 16:19:27 by Hibernate Tools 3.1.0.beta5

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

/**

  • Chrono generated by hbm2java
    */
    @Entity
    @Table(name = “chrono”, catalog = “chrono”, uniqueConstraints = {})
    public class Chrono implements java.io.Serializable {

    // Fields

    private int barra;

    private String nome;

    // Constructors

    /** default constructor */
    public Chrono() {
    }

    /** full constructor */
    public Chrono(int barra, String nome) {
    this.barra = barra;
    this.nome = nome;
    }

    // Property accessors
    @Id
    @Column(name = “BARRA”, unique = true, nullable = false, insertable = true, updatable = true)
    public int getBarra() {
    return this.barra;
    }

    public void setBarra(int barra) {
    this.barra = barra;
    }

    @Column(name = “NOME”, unique = false, nullable = false, insertable = true, updatable = true)
    public String getNome() {
    return this.nome;
    }

    public void setNome(String nome) {
    this.nome = nome;
    }

}

A CLASSE TESTE

package br;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.classic.Session;
import org.hibernate.mapping.*;

public class TesteDeConfiguracao {

/**
 * @param args
 */
public static void main(String[] args) {
	
	// cria uma configuração para classe Chrono
	AnnotationConfiguration cfg = new AnnotationConfiguration();
	cfg.addAnnotatedClass(Chrono.class);
	
	//add conf para para sessão 
	SessionFactory factory = cfg.buildSessionFactory();
	
	
	//cria a sessão
	Session session = factory.openSession();
	
	Chrono c = new Chrono();
	c.setBarra(13);
	c.setNome("Ate que enfim");
	session.save(c);
	System.out.println(c.getBarra());
	
	
	
	//fecha a sessão
	factory.close();
	

}

}

SO QUE NA HORA DE RODA O PROJETO

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
Exception in thread “main” org.hibernate.HibernateException: Hibernate Dialect must be explicitly set
at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:57)
at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39)
at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:378)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:110)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1881)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1174)
at br.TesteDeConfiguracao.main(TesteDeConfiguracao.java:20)

E TO CARREGANDO TODA MINHA BIBLIOTECA
ehcache-1.1.jar
jta.jar
xml-apis.jar
commons-logging-1.0.4.jar
c3p0-0.8.5.2.jar
asm-attrs.jar
log4j-1.2.9.jar
dom4j-1.6.jar
antlr-2.7.5H3.jar
cglib-2.1.jar
asm.jar
jdbc2_0-stdext.jar
xerces-2.6.2.jar
commons-collections-2.1.1.jar
hibernate3.jar
aspectjrt.jar
aspectjtools.jar
mysql-connector-java-3.1.13-bin.jar
ejb3-persistence.jar
hibernate-annotations.jar
hibernate-entitymanager.jar
javassist.jar
lucene-1.4.3.jar

E NADA TO USANDO JBOSS 1.6 GA + HIBERNATE TOOLS

POR FAVOR ME AJUDEM!!! GALERA!!!
:smiley: :smiley: :smiley: [b]

Não conheço muito o Hibernete mas acrescente no seu código: cfg.configure();

nao deu certo, acho que tem alguma coisa com o arquivo log4

Ae galera

To querendo sabe mesmo usando annotacions dependemos do log ???
po galera to começando agora sou novato queria uma força da comunidade

ae manda um SOS ae, uma ajudar galera!!!

desde ja Valeu!!!

Well well…
Cara, eu não tive problemas com o annotation. Ando pesquisando o Seam, que está dando o mesmo problema. Se vc estiver utilizando o bicho “na mão” como eu acho que está, vai abaixo uma classe pra você utilizá-la como o util. Abraços.

public class HibernateUtil3 {

    public static final SessionFactory sessionFactory;
    
    static {
        try {
            ClassLoader cl = HibernateUtil3.class.getClassLoader();
            // Cria um SessionFactory do hibernate.cfg.xml
            	sessionFactory = new AnnotationConfiguration().configure(new File(cl.getResource("hibernate.annotated.cfg.xml").getFile())).buildSessionFactory();
        } catch (Throwable ex) {
            // Loga a exceção. Caso contrário ela será esquecida (ao falhar).
            System.err.println("A criação da SessionFactory inicial falhou." + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }

    public static final ThreadLocal<Session> session = new ThreadLocal<Session>();

    public static Session currentSession() throws HibernateException {
        Session s = (Session) session.get();
        // Abre uma nova sessão caso a Thread atual não tenha nenhuma
        if (s == null) {
            s = sessionFactory.openSession();
            // Guarda-o na variável ThreadLocal
            session.set(s);
        }
        return s;
    }

    public static Connection getConnection() throws HibernateException {
        return currentSession().connection();
    }
    
    public static void closeSession() throws HibernateException {
        Session s = (Session) session.get();
        if (s != null)
            s.close();
        session.set(null);
    }