Hibernate

7 respostas
G
2009-03-20 10:58:05,213 INFO  cfg.annotations.Version  -> Hibernate Annotations <a href="http://3.4.0.GA">3.4.0.GA</a>

2009-03-20 10:58:06,243 INFO  hibernate.cfg.Environment  -> Hibernate <a href="http://3.3.1.GA">3.3.1.GA</a>

Inicialização do Session Factory falhou.java.lang.ExceptionInInitializerError

Exception in thread “main” java.lang.ExceptionInInitializerError

at HibernateUtil.(HibernateUtil.java:12)

at UsuarioDAO.salvar(UsuarioDAO.java:12)

at principal.main(principal.java:22)

Caused by: java.lang.ExceptionInInitializerError

at org.hibernate.cfg.Configuration.reset(Configuration.java:201)

at org.hibernate.cfg.AnnotationConfiguration.reset(AnnotationConfiguration.java:233)

at org.hibernate.cfg.Configuration.(Configuration.java:220)

at org.hibernate.cfg.Configuration.(Configuration.java:224)

at org.hibernate.cfg.AnnotationConfiguration.(AnnotationConfiguration.java:108)

at HibernateUtil.(HibernateUtil.java:9)

… 2 more

Caused by: java.lang.NullPointerException

at org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:167)

at org.hibernate.cfg.Environment.(Environment.java:558)

… 8 more

7 Respostas

S

Bom, já aconteceu isso comigo, eu reiniciei o conteiner(no meu caso o TomCat) e funcionou.

G

Samuel, eu estou usando o seridor de aplicaçao JBOSS

brucsantos

Coloca o seu codigo pra gente ver… e ter uma ideia melhor do que pode ser! e o xml tambem

G
<?xml version="1.0" encoding="utf-8"?>
<!-- properties -->
    <property name="connection.driver_class">
        com.mysql.jdbc.Driver
    </property>
    <property name="hibernate.connection.url">
        jdbc:mysql://localhost:3306/delivery
    </property>
    <property name="hibernate.dialect">
        org.hibernate.dialect.MySQLDialect
    </property>
    <property name="hibernate.show_sql">true</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">root</property>
    <property name="connection.pool_size">10</property>
    <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>
	
    <!-- mapping files -->
    <mapping class="Usuario"/>
</session-factory>
import org.hibernate.SessionFactory;

import org.hibernate.cfg.AnnotationConfiguration;

public class HibernateUtil {

private static final SessionFactory sessionFactory;

static{

try{

sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();

}catch(Throwable ex){

System.out.println(Inicialização do Session Factory falhou.+ ex);

throw new ExceptionInInitializerError(ex);

}

}
public static SessionFactory getSessionFactory(){
	return sessionFactory;
}

}

import java.io.Serializable;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.GenerationType;

import <a href="http://javax.persistence.Id">javax.persistence.Id</a>;

import javax.persistence.Table;
@Entity

@Table(name=usuario)

public class Usuario implements Serializable {

@Id

@GeneratedValue(strategy=GenerationType.SEQUENCE)

private int id_usuario;

private String nome;

private String login;

private String senha;

private String sexo;

private boolean ativo;

private int faixa_idade;
public Usuario(){		
}

public void setAtivo(boolean ativo) {
	this.ativo = ativo;
}
public void setFaixaIdade(int faixa_idade) {
	this.faixa_idade = faixa_idade;
}
public void setIdUsuario(int id_usuario) {
	this.id_usuario = id_usuario;
}
public void setLogin(String login) {
	this.login = login;
}
public void setNome(String nome) {
	this.nome = nome;
}
public void setSenha(String senha) {
	this.senha = senha;
}
public void setSexo(String sexo) {
	this.sexo = sexo;
}
public boolean isAtivo() {
	return ativo;
}
public int getFaixaIdade() {
	return faixa_idade;
}
public int getIdUsuario() {
	return id_usuario;
}
public String getLogin() {
	return login;
}
public String getNome() {
	return nome;
}
public String getSenha() {
	return senha;
}
public String getSexo() {
	return sexo;
}

}

import org.hibernate.Session;

public class UsuarioDAO {
private Session session;

public UsuarioDAO() {
	
}

public void salvar(Usuario Usu){
	session = HibernateUtil.getSessionFactory().getCurrentSession();
	session.beginTransaction();
	session.save(Usu);
	session.getTransaction().commit();
}

}

import org.hibernate.Session;
import org.hibernate.Transaction;

public class principal {

public static Session session;

/**

* @param args

*/

public static void main(String[] args) {		

// TODO Auto-generated method stub
Usuario Us = new Usuario();
	Us.setNome("Gustavo");
	Us.setLogin("Gustavo");
	Us.setSenha("Samuel");
	Us.setSexo("M");
	Us.setAtivo(true);
	Us.setFaixaIdade(1);
			
	UsuarioDAO usuarioDAO = new UsuarioDAO();
	usuarioDAO.salvar(Us);

}

}

Tchello

Nunca tive aquelas carinhas com óculos escuros no meu JBoss =(

Mas falando sério, tente limpar todos os temporários e reiniciar o JBoss.
Se ainda assim continuar, sei que não é o certo, mas tente baixar de novo o JBoss e substituir o antigo pelos arquivos fresquinhos (mesma versão, tudo igual, mas novo) e veja no que que da.

A propósito, ja tive bugs que sumiram depois de reiniciar o servidor, a máquina, nao o Application Server.

Abraços.

Tchello

Quase esqueci:
Use as tags Code pra postar… códigos.

Geralmente uma descrição do que estava fazendo no topo da mensagem costuma ajudar a te ajudar. Try it next time.

edit: correção ortográfica (não a do Lula).

brucsantos

[quote=gustavotudeia]
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">





com.mysql.jdbc.Driver


jdbc:mysql://localhost:3306/delivery


org.hibernate.dialect.MySQLDialect

true
root
root
10
10
2
5000
10
3000
2




Tenta fazer assim :

<?xml version="1.0"?>
 <!DOCTYPE hibernate-configuration PUBLIC  
         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
         "http://hibernate.sourceforge.net/hibernate-configuration-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:3306/delivery</property>  
 <property name="hibernate.connection.username">root</property>  
 <property name="hibernate.connection.password">root</property>  
 <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>  
 <property name="show_sql">true</property>  

 //... demais properties
            
 <mapping class="seu.pacote.SuaClasse"/>    // ao inves de colocar so usuario, coloca o caminho todo 
            
 </session-factory>  
 </hibernate-configuration>

Ah e esse arquivo você coloca no classpath do projeto.

Aqui eu testei com o maven então eu colocava no src/main/resources!

O problema pelo que vi e que ele num tah conseguindo ler o arquivo xml, provavelmente pode tah no lugar errado
Abraços

Criado 20 de março de 2009
Ultima resposta 20 de mar. de 2009
Respostas 7
Participantes 4