Hibernate + Netbeans

1 resposta
W

Olá pessoal, estou tentando desenvolver meu primeiro programinha utilizando Hibernate. Segue abaixo o código

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
	 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
	 version="2.4">
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
	<welcome-file>
            index.jsp
        </welcome-file>
    </welcome-file-list>
</web-app>

Pessoa.java

public class Pessoa {
 	private String nome;
	private String email;
	private String telefone;
	
// métodos gets e sets
}

Pessoa.hbm.xml

<?xml version="1.0" encoding="UTF-8" ?> 
  <!DOCTYPE hibernate-mapping (View Source for full doctype...)> 
- <hibernate-mapping default-cascade="none" default-access="property" default-lazy="true" auto-import="true">
- <class name="Pessoa" mutable="true" polymorphism="implicit" dynamic-update="false" dynamic-insert="false" select-before-update="false" optimistic-lock="version">
- <!--  Identificador da classe 
  --> 
- <id name="id">
    <generator class="increment" /> 
</id>
- <!--  Propriedades da classe 
  --> 
  <property name="nome" unique="false" optimistic-lock="true" lazy="false" generated="never" /> 
  <property name="telefone" unique="false" optimistic-lock="true" lazy="false" generated="never" /> 
  <property name="email" unique="false" optimistic-lock="true" lazy="false" generated="never" /> 
- <!--  Relacionamento da classe 

  </class>
  </hibernate-mapping>

PessoaDAO.java

package com.hibernate.teste;
import org.hibernate.Session;
import org.hibernate.StatelessSession;
import org.hibernate.SessionFactory;
import com.hibernate.teste.*;
import org.hibernate.Transaction;
public class PessoaDAO {
    public PessoaDAO () {
        Session sessao = HibernateUtility.getSession();
        Transaction transaction = sessao.beginTransaction();
        Pessoa pessoa = new Pessoa();
        pessoa.setNome("Ricardo");
        pessoa.setTelefone("telefone");
        pessoa.setEmail("email");
        sessao.save(pessoa);
        transaction.commit();
        sessao.close();
    }
}

HibernateUtility.java

package com.hibernate.teste;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtility {
    private static SessionFactory factory;
    static {
        //Bloco estático que inicializa o Hibernate
        try {         
            factory = new Configuration().configure().buildSessionFactory();           
        } catch (Exception e) {   
            e.printStackTrace();
            factory = null;
        }
    }
    public static Session getSession() {
        //Retorna a sessão aberta
        return factory.openSession();   
    } 
}

hibernate.cfg.xml

<!DOCTYPE hibernate-configuration (View Source for full doctype...)> 
- <hibernate-configuration>
    - <session-factory>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> 
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> 
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/pessoa?autoReconnect=true</property> 
        <property name="hibernate.connection.username">root</property> 
        <property name="hibernate.connection.password" />123456</property> 
        - <!--  Condiguração do c3p0 
        --> 
        <property name="hibernate.c3p0.max_size">10</property> 
        <property name="hibernate.c3p0.min_size">2</property> 
        <property name="hibernate.c3p0.timeout">5000</property> 
        <property name="hibernate.c3p0.max_statements">10</property> 
        <property name="hibernate.c3p0.idle_test_period">3000</property> 
        <property name="hibernate.c3p0.acquire_increment">2</property> 
        - <!--  Configurações de debug 
        --> 
        <property name="show_sql">true</property> 
        <property name="use_outer_join">true</property> 
        <property name="hibernate.generate_statistics">true</property> 
        <property name="hibernate.use_sql_comments">true</property> 
        <mapping resource="Pessoa.hbm.xml" /> 
    </session-factory>
</hibernate-configuration>

index.jsp

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ page import="com.hibernate.teste.*"%>
<%@ page import="java.util.*" %>
<%
   PessoaDAO pessoaDAO = new PessoaDAO();
%>

[color=red]Está compilando sem nenhum erro no Netbeans, porém ao executar é exibido o seguinte Exception no browser:[/color]

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)

root cause

java.lang.NullPointerException
	com.hibernate.teste.HibernateUtility.getSession(HibernateUtility.java:45)
	com.hibernate.teste.PessoaDAO.<init>(PessoaDAO.java:30)
	org.apache.jsp.index_jsp._jspService(index_jsp.java:53)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.

[color=blue]Alguem pode me ajudar a resolver este problema? Agradeço desde já a ajuda de todos

Wallfox[/color]

1 Resposta

M

NullPointerException é a coisa mais vaga do mundo rsrsrs

Criado 10 de maio de 2006
Ultima resposta 11 de mai. de 2006
Respostas 1
Participantes 2