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