Hibernate mal configurado!

5 respostas
H
Bom dia a todos!!! Pessoal, estou com um problema de configuração no arquivo cgf do hibernate.... testei e o erro que deu foi esse, apontando para o tal arquivo:
run:
20/04/2011 01:11:52 org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.2.5
20/04/2011 01:11:52 org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
20/04/2011 01:11:52 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
20/04/2011 01:11:52 org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
20/04/2011 01:11:52 org.hibernate.cfg.Configuration configure
INFO: configuring from resource: hibernate.cfg.xml
20/04/2011 01:11:52 org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: Configuration resource: hibernate.cfg.xml
20/04/2011 01:11:52 org.hibernate.util.XMLHelper$ErrorLogger error
GRAVE: Error parsing XML: hibernate.cfg.xml(12) Document is invalid: no grammar found.
20/04/2011 01:11:52 org.hibernate.util.XMLHelper$ErrorLogger error
GRAVE: Error parsing XML: hibernate.cfg.xml(12) Document root element "hibernate-configuration", must match DOCTYPE root "null".

o arquivo cfg em questão é esse:

<!DOCTYPE hibernate-mapping public "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-configuration>
    <session-factory>

<property name="hibernate.connection.driver.class">
    com.mysql.jdbc.Driver
</property>



 <property name="hibernate.connection.url">
     jdbc:mysql://localhost/javahibernate
 </property>

<property name="hibernate.connection.username">
root    
</property>


<property name="hibernate.connection.password">
root
</property>

<property name="hibernate.connection.dialect">
  org.hibernate.dialect.MySQLDialect
</property>

<mapping resource="aluno.hbm.xml"/>
    </session-factory>
</hibernate-configuration>

porém, ele está errado...
minha dúvida é com relação ao dialect...ele está certo?? fora isso, tem mais algum erro???
Valeu, gent!!!
Horácio

5 Respostas

dxos

Não tenho certeza creio que pode ser aqui:

imagino ser assim:

segue este trecho da configuração que utilizo, estão bem parecidas, com a diferença no dialeto ( pelo que reparei rapidamente… )

&lt;hibernate-configuration&gt;
	&lt;session-factory&gt;
		&lt;property name="hibernate.dialect"&gt;org.hibernate.dialect.MySQLInnoDBDialect&lt;/property&gt;
		&lt;property name="hibernate.connection.driver_class"&gt;com.mysql.jdbc.Driver&lt;/property&gt;
		&lt;property name="hibernate.connection.url"&gt;jdbc:mysql://localhost:3306/meuBanco&lt;/property&gt;
		&lt;property name="hibernate.connection.username"&gt;root&lt;/property&gt;
		&lt;property name="hibernate.connection.password"&gt;12345&lt;/property&gt;

       // MAPEAMENTO DAS CLASSES
	&lt;/session-factory&gt;
&lt;/hibernate-configuration&gt;
H

vamos lá…acabei mexendo numas partes aqui, e agora o novo erro é:"MappingException:unknow entity:Aluno"
Bom, a classe em questão é essa:

public class Aluno {
 private int alu_codigo;
 private String alu_nome;
 private String alu_cidade;
 private String alu_telefone;
 private String alu_curso;

    public String getAlu_cidade() {
        return alu_cidade;
    }

    public void setAlu_cidade(String alu_cidade) {
        this.alu_cidade = alu_cidade;
    }

    public int getAlu_codigo() {
        return alu_codigo;
    }

    public void setAlu_codigo(int alu_codigo) {
        this.alu_codigo = alu_codigo;
    }

    public String getAlu_curso() {
        return alu_curso;
    }

    public void setAlu_curso(String alu_curso) {
        this.alu_curso = alu_curso;
    }

    public String getAlu_nome() {
        return alu_nome;
    }

    public void setAlu_nome(String alu_nome) {
        this.alu_nome = alu_nome;
    }

    public String getAlu_telefone() {
        return alu_telefone;
    }

    public void setAlu_telefone(String alu_telefone) {
        this.alu_telefone = alu_telefone;
    }

    public Aluno()
    {
    }


  

  
}

a classe que faz o mapeamento é essa:

import org.hibernate.*;
import org.hibernate.cfg.*;
import javax.swing.*;

public class GravaAluno
{
  public static void main(String [] args)
  {
        try
        {
        SessionFactory fabrica = new Configuration().configure("Hibernate.cfg.xml").buildSessionFactory();
        Session sessao = fabrica.openSession();
        
         Aluno aluno = new Aluno();

        aluno.setAlu_codigo(1);
        aluno.setAlu_nome("horacio");
        aluno.setAlu_curso("hibernate");
        aluno.setAlu_telefone("940944");
        aluno.setAlu_cidade("santos");
        Transaction tx_aluno = sessao.beginTransaction();
        sessao.save(aluno);
        tx_aluno.commit();
        sessao.clear();
        }
        catch(Exception erro){
        JOptionPane.showMessageDialog(null, "Erro na inserção "+erro);
        }
  }
  

}

o que pode estar dando erro para não funcionar??
mais uma vez, obrigado!!!
Horácio

dxos

cade o Mapeamento da Classe Aluno?

H

só tenho essas…como assim, mapeamento da classe aluno???

dxos

é onde você fala para o hibernate que sua classe Aluno será uma entidade, configura os atributos e etc…

se utiliza Annotations, seria diretamente na sua classe Aluno. se não seria no xml…

Criado 20 de abril de 2011
Ultima resposta 20 de abr. de 2011
Respostas 5
Participantes 2