Hibernate - problema ao adicionar

Powww galera to tentando adicionar um produto no banco atraves do hibernate mas nao consigo!!

ele tah criando a tabela de acordo com as annotations porem nao tah adicionando!!

Alguem ai pode me dar uma ajuda??

hibernate.properties

hibernate.dialect org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class com.mysql.jdbc.Driver
hibernate.connection.url jdbc:mysql://localhost/teste
hibernate.connection.username root
hibernate.connection.password root

HibernateFactory

package br.com.rafael.hibernate;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

public class HibernateFactory {
	
	private static SessionFactory factory;
	
	static {
		AnnotationConfiguration cfg = new AnnotationConfiguration();
		cfg.addAnnotatedClass(Produto.class);
		factory = cfg.buildSessionFactory();
	}
	
	public Session getSession(){
		return this.factory.openSession();
	}
}

a classe aqeu adiciona um produto


package br.com.rafael.hibernate;

import org.hibernate.Session;

public class AdicionaProduto {
	
	public static void main(String[] args){
	
		Session session = new HibernateFactory().getSession();
	
	Produto prod =  new Produto();
	//ProdutoDAO dao = new ProdutoDAO(session);
	prod.setNome("arroz");
	prod.setDescricao("tio joao");
	prod.setPreco(1.80);
	
	session.save(prod);
	
	
	session.close();
	
	}


}

e a minha entidade produto

package br.com.rafael.hibernate;


import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;



@Entity
public class Produto {
	
	@Id @GeneratedValue
	private Long id;
	private String nome;
	private String descricao;
	private Double preco;
	
	
	public String getDescricao() {
		return descricao;
	}
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public Double getPreco() {
		return preco;
	}
	public void setPreco(Double preco) {
		this.preco = preco;
	}

}

Eu criei tambem uma classe DAO do meu produto porem nao tah funcinando tambem!!

Agradaeço desde jah!!!

Abraço!!

Utilize transacoes:

Session session = new HibernateFactory().getSession();  

try {
    session.beginTransaction();     
    Produto prod =  new Produto(); 
    // ....
    session.save(prod);
    session.getTransaction().commit();
} catch (Exception e) {
    session.getTransaction().rollback();
    e.printStackTrace();
}

// ....

Rafael

funcionou porem nao entendo porque eu tenho qeu usar transaçoes porque da forma como eu fiz nao funcionou!!??

e o que esses metodos qeu tu escreveu fazem!!??

Abraço!!