eae, galera…to tentando aqui fazer uma aplicação com hibernate e estou tendo dificuldade, tô achando que é alguma besteira grande que eu não estou vendo hehe
Vou colocar logo tudo aqui, que eu posso ta cometendo algum erro na configuração
valeu galera 
package com.canix.hibernate.config;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.classic.Session;
import com.canix.hibernate.beans.Produto;
public class HibernateUtil {
	
	private static SessionFactory factory;
	
	static{
		AnnotationConfiguration cfg = new AnnotationConfiguration();
		cfg.addAnnotatedClass(Produto.class);
		factory = cfg.buildSessionFactory();
		}
	
	public Session getSession(){
		return factory.openSession();
	}
}HibernateUtil
package com.canix.hibernate.beans;
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  double preco;
	
	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;
	}
	
	
}
Produto
package com.canix.hibernate.config;
import org.hibernate.Session;
import com.canix.hibernate.beans.Produto;
public class ProdutoDAO {
	
	private Session session;
	
	
	
	public ProdutoDAO(Session session){
		this.session = session;
	}
	
	public void salvar(Produto p){
		this.session.save(p);
	}
	
	public void remover(Produto p){
		this.session.delete(p);
		this.session.flush();
	}
	
	public Produto pesquisar(Long id){
		return (Produto) this.session.load(Produto.class, id);
	}
	
	public void atualiza(Produto p){
		this.session.update(p);
		this.session.flush();
	}
	
	
}
ProdutoDAO
function iniciarRequisicao() {
	
	 var request = false;  
	             try 
	             {  
	                 request = new XMLHttpRequest();  
	             }
	             catch (trymicrosoft) 
	             {  
	                 try 
	                 {  
	                     request = new ActiveXObject("Msxml2.XMLHTTP");  
	                 } 
	                 catch (othermicrosoft) 
	                 {  
	                     try 
	                     {  
	                         request = new ActiveXObject("Microsoft.XMLHTTP");  
	                     } catch (failed) 
	                     {  
	                         request = false;  
	                     }    
	                 }
	                 
	             }  
	return request;
}
function cadastrar()
{
	var nome=document.getElementById("nome").value;
	var preco=document.getElementById("preco").value;
	var url=null;
	
	
	url="ajax/ajaxCadastro.jsp?comando=cadastrar&nome="+nome+"&preco="+preco;
	
	var requisicaoLocal=iniciarRequisicao();
	requisicaoLocal.onreadystatechange=function ()
	{
		respostaCadastrar(requisicaoLocal);
	}
	requisicaoLocal.open("GET",url,'false');
	requisicaoLocal.send(null);
}
function respostaCadastrar(requisicao) 
{
	if(requisicao.readyState==4)
	{
		if(requisicao.status==200)
		{
			var xml=requisicao.responseXML;
		}
	}
}
Cadastrar.js
<%@page import="com.canix.hibernate.beans.Produto"%>
<%@page import="com.canix.hibernate.config.ProdutoDAO"%>
<%@page import="com.canix.hibernate.config.HibernateUtil"%>
<%@page import="org.hibernate.Session"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<jsp:useBean id="Produto" class="com.canix.hibernate.beans.Produto" scope="page">
	<jsp:setProperty name="Produto" property="*"/>
</jsp:useBean>	
<%
String comando = request.getParameter("comando");
if(comando.equals("cadastrar")){
	
	System.out.println("teste");
	Session session2 = new HibernateUtil().getSession();
	
	
	ProdutoDAO dao =  new ProdutoDAO(session);
	Produto p = new Produto();
	
	dao.salvar(p);
	session.close();
	
}
%>
ajaxCadastro.js
hibernate.connection.driver_class=org.postgresql.Driver
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
hibernate.connection.url=jdbc:postgresql://localhost/teste
hibernate.connection.username=postgres
hibernate.connection.password=1q2w3e
hibernate.properties
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
    <property name="hibernate.cglib.use_reflection_optimizer">true</property>
    <property name="hibernate.show_sql">true</property>
    <property name="hibernate.format_sql">true</property>
    
    
    <mapping class="com.canix.hibernate.beans.Produto" />
   
    
  </session-factory>
</hibernate-configuration>
hibernate.hbm.xml