Configurando o Hibernate no NetBeans

Olá amigos, gostaria de saber se alguém de vocês tem algum turotial ou pode me auxiliar na configuração do hibernate no netbeans.
Eu começei a estudar o hibernate por um tutorial aqui do GUJ, mas infelizmente este tutorial não ensina a parte mais difícil para os iniciantes que é a configuração do ambiente, o erro que está ocorrendo é este:

[color=red]log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
org.hibernate.MappingException: Could not parse mapping document in XML string
at org.hibernate.cfg.Configuration.addXML(Configuration.java:387)
at HibernateUtility.(HibernateUtility.java:19)
at Teste.main(Teste.java:23)
Caused by: org.dom4j.DocumentException: Error on line 1 of document : Content is not allowed in prolog. Nested exception: Content is not allowed in prolog.
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.dom4j.io.SAXReader.read(SAXReader.java:365)
at org.hibernate.cfg.Configuration.addXML(Configuration.java:379)
… 2 more
Exception in thread “main” java.lang.NullPointerException
at HibernateUtility.getSession(HibernateUtility.java:30)
at Teste.main(Teste.java:23)
Java Result: 1[color=#444444] [/color]

Desde de já agradeço a atenção de todos.
Abraços._

ae anderline…
como tah seu arquivo hibernate.cfg.xml???
ele eh responsavel pelas propriedades de
inicialização e os caminhos dos arquivos de mapeamento!!

vc tah fazendo os mapeamento td certo???

flw

E aí Sério blz,

Então cara na verdade eu só tô tentanto rodar os arquivos do exemplo de um tutorial que eu peguei aqui no guj.
Agora oque eu não sei oq q tem que fazer são com os arquivos do mapeamento, eu devo na tag mapping resource colocar o diretório onde estão os arquivos, pq eles estão no seguinte diretório C:\aplicativos\hibernate.
Mas o arquivo é este :

	<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/tcc?autoReconnect=true
	</property>
	<property 
		name="hibernate.connection.username">
		root
	</property>
	<property 
		name="hibernate.connection.password">
	</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="Curso.hbm.xml"/>
	<mapping resource="Disciplina.hbm.xml"/>
	<mapping resource="Turma.hbm.xml"/>			
	<mapping resource="Pessoa.hbm.xml"/>	
	<mapping resource="Aluno.hbm.xml"/>		
	<mapping resource="Professor.hbm.xml"/>		
	<mapping resource="Endereco.hbm.xml"/>
		
</session-factory>

Abraços._

Outra coisa, o erro que está dando é o seguinte :HibernateException hibernate.cfg.xml not found.

Abraços._

nem precisa mostrar o diretorio…soh tem q colocar o pacote q eles estao…

por exemplo se eles tiverem no pacote persistencia eh soh colocar:

to passando um exemplo de Cliente.hbm.xml e o hibernate.cfg.xml

//Cliente.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<class name="negocio.Cliente" table="cliente" lazy="false">

    <id name="Codigo" type="integer">
        <generator class="increment"/>
     </id>
    <property name="Nome" type="string"/>
    <property name="Cpf" type="string"/>
    <property name="Rg" type="string"/>
    <property name="Email" type="string"/>
    <property name="Telefone" type="string"/>

//hibernate.cfg.xml

<?xml version='1.0' encoding='utf-8'?> org.hibernate.dialect.MySQLDialect true com.mysql.jdbc.Driver jdbc:mysql://localhost/teste root root
</session-factory>

flw,
abraco

Olá Serio,

Cara desculpa a amolação, nem sei como agradecer a sua ajuda, mas eu usei o seu hibernate.cfg.xml e seu Cliente.hbm.xml e continua apresentando o mesmo erro " hinernate.cfg.xml" neste linha de código :
SessionFactory factory;
factory = new Configuration().configure().buildSessionFactory();

Eu tô achando que deve ser algum erro de classpath, pois desde eu não confiurei o classpath do meu pc pro hibernate, a única coisa que fiz foi colocar os jar necessários no meu projeto no NetBeans.
Sérgio não teria como você colocar como está configurado o seu classpath ?, pois acho que esse deve ser o problema.

Abraços._

ae anderline,

to passando a classe de conexao com o banco., observe no metodo open() q vc deve passar a url e o arquivo hibernate.cfg.xml(coisa q vc naum tava fazendo)…
cria um pacote persistencia…coloca essa classe, o cliente.hbm.xml e a hibernate.cfg.xml…
e naum esquece de criar um classe Cliente.java com atributos(iguais do cliente.hbm) e gets e sets…cria uma tabela Cliente no banco e jah era!!

public class DataManager {

private static DataManager instance = new DataManager();
protected URL url;
protected Configuration cfg ;
protected SessionFactory sf ;
private Session session ;
private boolean aberta;

public static DataManager getInstance() {
    return instance;
}

public void close()  {
    session.close();
    sf.close();
    aberta=false;
}

public boolean isOpen(){
    return aberta;
}

public String open() {
    try {
        url = DataManager.class.getResource("hibernate.cfg.xml");
        cfg = new Configuration();
        cfg.configure(url);
        sf = cfg.buildSessionFactory();
        session = sf.openSession();
        session.setFlushMode(FlushMode.COMMIT);
        aberta=true;
        return "";
    } catch(HibernateException e) {
        System.out.println("ERRO FATAL: camada de persistencia DataManager / Hibernate - " + e.getMessage());
        e.printStackTrace();
        aberta=false;
        return e.getMessage();
    }
    
}

private DataManager() {
    
}

public void save(Object entity) throws HibernateException{
getInstance().open();
Transaction t = session.beginTransaction();
session.saveOrUpdate(entity);
t.commit();
getInstance().close();
}
public void delete(Object entity) throws HibernateException{
getInstance().open();
Transaction t = session.beginTransaction();
session.delete(entity);
t.commit();
getInstance().close();
}

}

flw
:smiley:

Olá Sérgio, então eu rodei esta classe que vc me passou e está apresentando este erro :
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Exception in thread “main” java.lang.NullPointerException
at org.hibernate.cfg.Configuration.configure(Configuration.java:1365)
at hibernate.DataManager.open(DataManager.java:49)
at hibernate.DataManager.main(DataManager.java:84)
Java Result: 1

Abraços.

Infelizmente eles não se entenderam…

cara, em foruns é difícil enteder mesmo, em algum tempo atrás eu tava nessa tb, tentei de tudo, saí googlando tudo por ai, até que resolvi gastar meu inglês e ler a documentação oficial, só então descobrir qual era o diretório base do hibernate

$classpath/ext/data/
no meu caso:
E:\Arquivos de programas\Java\jdk1.6.0\jre\lib\ext\data

Coloca todos arquivos de configuração (hibernate.properties, log4j.properties, hibernate.cfg.xml) e seus mapeamentos de tabela nesse diretório

Espero ter ajudado

Valeu cara, só uma dúvida, eu uso o jdk1.5 e esse diretório data não existe, eu devo criar um ?.
E eu devo colocar os xml dos mapeamentos das classes nele tb ?
Abraços.

pelo menos aqui eu criei esse diretorio data mesmo, e foi a única soluçao que encontrei e coloca sim todos .xml lá dentro pois evita confusão de caminhos de diretorios
seu caminho deverá ficar assim entao
Java\jdk1.5.0\jre\lib\ext\data

Valeu amigo, vou tentar aqui.

Cara, eu to achando que vc precisa apenas importar o jar do log4j n sei se estou certo…
experimenta importar isso http://www.mediafire.com/file/czmmujzo0dm/log4j-1.2.11.jar na sua biblioteca.

Não sei se estou certo, posta ai os resultados ou me corrijam…

Será que desde de 2007, a duvida dele não foi resolvida ?

*Ressucitado

OMG, desculpem me, nem tinha me tocado, =/

alguém fecha isso ^^

Sua informação pode ajudar sim, só tipo, expecifique que é uma informação a mais …

:lol: :lol: :lol: