Fala Galera!!
Estou com um problema aqui no mínimo estranho.
Eu tenho aqui uma classe que tem uns métodos que fazem a persistência no banco de dados, através do hibernate.
Acontece q eu comecei a usar agora o RCP (Rich Client Platform) e qdo eu passei essa classe para ser instanciada a partir de uma View do RCP, ela começou a dar pau.
Ela funciona pois eu tenho no mesmo projeto uma tela em Swing q a usa numa boa, mas na minha View, só de eu tentar instancia um objeto desse (HibernateConf hbm = new HibernateConf) dá pau…
Alguém sabe o que pode ser??
Abaixo o código da minha classe.
package teste
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class HibernateConf {
//Atributos
private SessionFactory sf;
private Session session;
private Transaction tx;
//Fim atributos
//Métodos
/**
* Método responsável por criar a Session
* PS: Esse método deve ser chamado apenas uma vez na aplicação
*/
public void createSession() {
try{
//SessionFactory deve ser criado uma única vez durante a execução
//da aplicação
sf = new Configuration()
.configure("c:/hibernate.cfg.xml")
.buildSessionFactory();
}catch(HibernateException e1){
e1.printStackTrace();
System.out.println("Erro ao criar Session do Hibernate.");
}
}
/**
* Método responsável por gravar um objeto no banco
* @param Object o: Objeto a ser persistido
* @param int op..: 0 - Inserir
* 1 - Alterar
* @return boolean: True - Sucesso
* False - Falha
*/
public boolean postObj(Object o, int op) {
boolean ret = true;
try {
//Abre sessão
session = sf.openSession();
//Cria transação
tx = session.beginTransaction();
//Realiza persistência
if (op == 0) {
session.save(o);
} else {
session.update(o);
}
//Fecha transação
tx.commit();
//Fecha sessão
session.close();
}catch(HibernateException e1){
e1.printStackTrace();
System.out.println("Erro ao gravar objeto no banco de dados - Erro no processo do Hibernate");
ret = false;
}catch(Exception eGeneric){
eGeneric.printStackTrace();
System.out.println("Erro ao gravar objeto no banco de dados - Erro geral");
ret = false;
}
return ret;
}
/**
* Método responsável por excluir um objeto no banco
* @param
* @return boolean: True - Sucesso
* False - Falha
*/
public boolean deleteObj(Object o) {
boolean ret = true;
return ret;
}
//Fim métodos
}