Problemas com o hibernate.cfg

6 respostas
E

Boa noite galera, bom eu estou com um pequeno problema. Estou com um projeto desktop e para a persistencia estou querendo usar o hibernate pra fazer o mapeamento objeto relacional, bem o problema eh que nao hora em que eu mando gerar o banco aparece uma mensagem dizendo o hibernate.cfg.xml nao foi achado, aparentemente estah tudo certo pois jah usei o hibernate em um projeto web ha alguns meses e funcionou perfeitamente, segui a risca tudo q eu fiz no projeto web mas nao tah dando certo.....

ai vai o erro

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" org.hibernate.HibernateException: /hibernate.cfg.xml not found
at org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:147)
at org.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:1329)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1351)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1338)
at GerenciaDeDados.GeraBanco.main(GeraBanco.java:30)
Java Result: 1

Aki as classes para configurar o hibernate

public class HibernateUtil {
    
    private static Logger logger = Logger.getLogger(HibernateUtil.class.getName());    
    private static SessionFactory factory;
     
    static{
        Configuration configuration = new AnnotationConfiguration();
        configuration.configure();
        factory = configuration.buildSessionFactory();
    }
    public static Session openSession(){
        logger.info("Abrindo uma nova sessão");
        return factory.openSession();
    }
    
  
    
}

Aki a classe para gerar o banco

public class GeraBanco {
    
    /** Creates a new instance of GeraBanco */
    public static void main(String[] args){
        Configuration configuration = new AnnotationConfiguration();

        configuration.configure(); //O erro acontece aki

        SchemaExport se = new SchemaExport(configuration);
        se.create(true,true);
    }
     
    
}

Aki o meu hibernate.cfg.xml

<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
	"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">


<!--<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
	".//src//hibernate-configuration-3.0.dtd"> -->

<hibernate-configuration>
	<session-factory>
		
		<!-- Define MySQL como o banco de dados a ser utilizado -->
		<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

		<!-- Define instancia "curso_hibernate" como base de dados padrão -->
		<!-- � necessário criar a instancia "curso_hibernate" no gerenciador MySQL -->
		<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/teste</property>
		
		<!-- Define o nome do driver MySQL -->
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>

		<!-- Define usuário e senha da instancia de banco de dados -->
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">123456</property>
		
		<!-- Configura Hibernate para exibir o código SQL gerado -->
		<property name="hibernate.show_sql">true</property>
		<property name="hibernate.format_sql">true</property>
                
		<!-- configuração do pool de conexões -->
<!--
		<property name="c3po.min_size">20</property>
		<property name="c3po.max_size">100</property>
		<property name="c3po.timeout">180</property>
		<property name="c3po.maxIdleTime">300</property>
		<property name="c3po.idle_test_period">100</property>
-->

		<!-- pode causar perda de desempenho... neste caso definir como 0 -->
<!--
		<property name="c3po.max_statements">100</property> 
-->		

		<!-- habilitando cache -->		
<!--
		<property name="hibernate.cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</property>
		<property name="hibernate.cache.use_query_cache">true</property> 
-->		

		
                <mapping class="DominioDoProblema.Endereco"/>
                <mapping class="DominioDoProblema.Funcionario"/>
                <mapping class="DominioDoProblema.Modalidade"/>
                <mapping class="DominioDoProblema.Pessoa"/>
                <mapping class="DominioDoProblema.Professor"/>
                <mapping class="DominioDoProblema.Recurso"/>
                <mapping class="DominioDoProblema.Turma"/>
		
	</session-factory>
</hibernate-configuration>

Estou usando o netbeans :?
Existiria alguma diferenca de configuracao entre o um projeto web e um desktop?

Se alguem puder me dah uma forca.....vlw galera teh mais

6 Respostas

rapatao

Aonde você colocou seu hibernate config? Está na pasta /src?

E

Opa, meu hiberntate.cfg.xml tah dentro da pasta src sim. Por mais essa q eu nao to entendendo…

rafaelglauber

essas classes “dominio do problema” estão anotadas ou com seus respectivos arquivos xmls?

E

As classes estao anotadas deem uma olhada… :frowning:

@Entity
public class Turma {
    @Id
    @GeneratedValue
    private int codTurma;
    private String turno;
    private double horario;
    private String descricao;
    private String nome;
    private String estado;
    private int capacidade;
    private int qtdAluno;
    @ManyToOne
    @JoinColumn(name="codProfessor")
    private Professor professor;
    private Modalidade modalidade;
E

Eu estou tentando mexer de todas as formas aki mas nao tah dando certo, por exemplo peguei toda parte de dominio do problema e de persistencia do meu projeto anterior, no caso o projeto web q tava funcionando com o hibernate, dai fiz um projeto desktop e colei os pacotes, pra saber se iria ao menos gerar as classes no banco… mas deu o mesmo erro =/

rafaelglauber

1.2. Configuration
First, set up your classpath (after you have created a new project in your favorite IDE):
? Copy all Hibernate3 core and required 3rd party library files (see lib/README.txt in Hibernate).
? Copy hibernate-annotations.jar, lib/hibernate-comons-annotations.jar and lib/
ejb3-persistence.jarfrom the Hibernate Annotations distribution to your classpath as well.

Retirado do guia da referencia do hibernate annotations. (lá na pasta doc de seu download)

já fez isso???

Criado 26 de outubro de 2007
Ultima resposta 29 de out. de 2007
Respostas 6
Participantes 3