E ai pessoal!
Bom sou novo no fórum, sou programador Delphi, mas estou me aventurando no JSF com Hibernate e Spring pois vou desenvovler meu TCC da faculdade nele, já fiz aulas de java para aprender conceitos, lógica orientada a objetos, e também já estudei jsp, porém escolhi jsf porque pesquisei o mercado e vi que era o melhor e mais aceito.
É o seguinte, não sei se posso fazer isso aqui mas minha intenção não é comercial, comprei o Livro Programação Java para Web do Décio H. Luckow e Alexandre Altair de Melo que foi lançado recentemente e estou seguindo os capítulo, chegui eno capítulo do Hibernate com o MYSQL, fiz o download, imagino que segui os passos todos corretos do livro, só que quando construi o arquivo hibernate.cfg.xml, e duas classes para testar a conexão sem entrar em méritos de mapeamento de tabelas e etc.
Só que ele não conecta com o Banco, dá o seguinte erro:
20 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.5.2-Final
23 [main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
29 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
35 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
173 [main] INFO org.hibernate.cfg.Configuration - configuring from resource: hibernate.cfg.xml
173 [main] INFO org.hibernate.cfg.Configuration - Configuration resource: hibernate.cfg.xml
Criação inicial do objeto SessionFactory falhou. Erro: org.hibernate.HibernateException: Could not parse configuration: hibernate.cfg.xml
Exception in thread "main" java.lang.NullPointerException
at com.livro.capitulo3.conexao.ConectaHibernateMysql.main(ConectaHibernateMysql.java:17)
O Livro utiliza o Eclipse, e neste capítulo sobre hibernate até neste ponto, ele manda criar um Java Project, com apenas uma tabela Contato, no banco de Dados Agenda,
explicou como colocar as bibliotecas no buildpath, e depois a criação do hibernate.cfg.xml, e de duas classes para testar a conexão.
Já li vários e vários tópicos, porém a solução deles não funcionou para mim, mas como outros fizeram vou postar os meus códigos:
Hibernate.cfg.xml
[code]<?xml version="1.0" encoding="UTF-8"?>
org.hibernate.dialect.MySQL5InnoDBDialect com.mysql.jdbc.Driver jdbc:mysql://localhost/agenda root senha thread <!-- Usando as Configurações do C3PO para pool de conexões -->
<property name="c3po.min_size">5</property>
<property name="c3po.max_size">20</property>
<property name="c3po.timeout">300</property>
<property name="c3po.max_statements">50</property>
<property name="c3po.idle_test_period">3000</property>
<!-- Configurações de Debug -->
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="generate_statistics">true</property>
<property name="use_sql_comments">true</property>
</session-factory>
[/code]
Classe HibernateUtil.java
[code]package com.livro.capitulo3.conexao;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtil
{
private static final SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory()
{
try
{
Configuration cfg = new Configuration();
cfg.configure("hibernate.cfg.xml");
return cfg.buildSessionFactory();
}
catch (Throwable e)
{
System.out.println("Criação inicial do objeto SessionFactory falhou. Erro: "+e);
throw new ExceptionInInitializerError(e);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
[/code]
Classe ConectaHibernatemysql.java
[code]package com.livro.capitulo3.conexao;
import org.hibernate.Session;
public class ConectaHibernateMysql
{
public static void main(String[] args)
{
Session sessao = null;
try
{
sessao = HibernateUtil.getSessionFactory().openSession();
System.out.println(“Conectou”);
}
finally
{
sessao.close();
}
}
}[/code]
Eu meio que entendi o que aconteceu, o método da classe HibernateUtil está retornando null, o arquivo cfg não le, mas eu não sei o que eu faço porque honestamente sou leigo em hibernate, já li várias soluções, mas nenhuma funcionou, até porque a organização da configuração do hibernate parece ser bem pessoal, porque vi vários tipos diferentes, bom vou listar tudo que eu já tentei:
colocar hibernate. antes dos nomes das propriedades por exemplo name="hibernate.dialect"
ao invés de name="dialect"
;
Colocar o número da porta na string de conexão, a minha porta do MYSQL é a padrão 3306;
Tentei colocar o caminho do arquivo, que já está na raiz.
Bom talvez seja um pouco complicado pelo fato de que eu esteja seguindo o livro, que pode ser diferente de uma padrão dos programadores, mas não sei nem por onde começar a testar, eu utilizava o eclipse para jsp nas aulas, então a conexão entre jdbc e mysql funcionava, porém para o livro coloquei tudo em um workspce diferente.
Utilizo o Windows 7, minha próxima solução seria formatar meu PC, e virtualizei o Ubuntu, também ia testar nele, apesar de não ser expert em linux, mas antes queria saber se alguém comprou este livro, ou se já passou pelo mesmo problema, ou se tem de repente o e-mail dos autores, para que possa entrar em contato!
Desde já obrigado a todos, gostei muito do fórum, desculpe se cometi algum erro grotesco, mas estou começando, e espero um dia poder ajudar alguém!
Vlw galera!