Olá Pessoal,
Estou com problemas ao conectar minha API com o banco de dados.
Sempre que solicito a conexao ele me retorna que tenho que implementar um método setSession da DAOFactory.java na classe UsuarioDAOHibernate. Quando retiro o bloco de código sugerido ele retorna que o método nao existe.
Alguém pode me ajudar?
Classe DAOFactory.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.ifrr.usuario;
/**
*
* @author Cristofe Rocha
*/
public class DAOFactory {
public static UsuarioDAO criarUsuarioDAO() {
UsuarioDAOHibernate UsuarioDAO = new UsuarioDAOHibernate();
UsuarioDAO.setSession(HibernateUtil.getSessionFactory().getCurrentSession());
return UsuarioDAO;
}
}
usuarioDAOhibernete.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.ifrr.usuario;
/**
*
* @author cristofe Rocha
*/
import java.util.List;
import org.hibernate.*;
public class UsuarioDAOHibernate implements UsuarioDAO {
private Session sessao;
private Transaction transacao;
public void salvar(Usuario usuario) {
// Session sessao = null;
//Transaction transacao2 = null;
try {
sessao = HibernateUtil.getSessionFactory().openSession();
transacao = sessao.beginTransaction();
sessao.save(usuario);
transacao.commit();
} catch (HibernateException e) {
System.out.println("Nao foi possivel Salvar o usuario");
} finally {
try {
sessao.close();
} catch (Throwable e) {
System.out.println("Erro ao fechar a Operaçao de sessao !" + e.getMessage());
}
}
}
public void Atualizar(Usuario usuario) {
Session sessao = null;
Transaction transacao = null;
try {
sessao = HibernateUtil.getSessionFactory().openSession();
transacao = sessao.beginTransaction();
sessao.save(usuario);
transacao.commit();
} catch (HibernateException e) {
System.out.println("Nao foi possivel Salva o usuario");
} finally {
try {
sessao.close();
} catch (Throwable e) {
System.out.println("Erro ao fechar a Operaçao de sessao !" + e.getMessage());
}
}
}
public void Excluir(Usuario usuario) {
Session sessao = null;
Transaction transacao = null;
try {
sessao = HibernateUtil.getSessionFactory().openSession();
transacao = sessao.beginTransaction();
sessao.delete(usuario);
transacao.commit();
} catch (HibernateException e) {
System.out.println("Nao foi possivel deletar o usuario");
} finally {
try {
sessao.close();
} catch (Throwable e) {
System.out.println("Erro ao fechar a Operaçao de sessao !" + e.getMessage());
}
}
}
public List<Usuario> listar() {
Session sessao = null;
Transaction transacao = null;
Query consulta = null;
List<Usuario> resultado = null;
try {
sessao = HibernateUtil.getSessionFactory().openSession();
transacao = sessao.beginTransaction();
consulta = sessao.createQuery("from usuario");
resultado = consulta.list();
transacao.commit();
return resultado;
} catch (HibernateException e) {
System.out.println("Nao foi possivel Buscar a lista do usuario" + e.getMessage());
throw new HibernateException(e);
} finally {
try {
sessao.close();
} catch (Throwable e) {
System.out.println("Erro ao fechar a Operaçao de Consulta !" + e.getMessage());
}
}
}
public Usuario BuscaUsuario(int valor) {
Usuario usuario = null;
Session sessao = null;
Transaction transacao = null;
Query consulta = null;
try {
sessao = HibernateUtil.getSessionFactory().openSession();
transacao = sessao.beginTransaction();
consulta = sessao.createQuery("from USUARIO where id=:parametro");
consulta.setInteger("parametro", valor);
usuario = (Usuario) consulta.uniqueResult();
transacao.commit();
return usuario;
} catch (HibernateException e) {
System.out.println("Nao foi possivel Buscar o usuario");
} finally {
try {
sessao.close();
} catch (Throwable e) {
System.out.println("Erro ao fechar a Operaçao de sessao !" + e.getMessage());
}
}
return usuario;
}
[b] void setSession(org.hibernate.classic.Session currentSession) {
throw new UnsupportedOperationException("Not yet implemented");
}[/b]
}
HiberteUtil.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.ifrr.usuario;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.SessionFactory;
/**
* Hibernate Utility class with a convenient method to get Session Factory object.
*
* @author Cristofe Rocha
*/
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
// Create the SessionFactory from standard (hibernate.cfg.xml)
// config file.
sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
} catch (Throwable ex) {
// Log the exception.
System.err.println("Inicio da Fabrica de Sessao Falha !!." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
UsuarioRN.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.ifrr.usuario;
import java.util.List;
/**
*
* @author Cristofe Rocha
*/
public class UsuarioRN {
private UsuarioDAOHibernate UsuarioDAOHibernate;
public UsuarioRN() {
this.UsuarioDAOHibernate = (UsuarioDAOHibernate) DAOFactory.criarUsuarioDAO();
}
public void excluir(Usuario usuario) {
this.UsuarioDAOHibernate.Excluir(usuario);
}
public List<Usuario> listar() {
return this.UsuarioDAOHibernate.listar();
}
public void salvar(Usuario usuario) {
Integer codigo = usuario.getCod_usuario();
if (codigo == null || codigo == 0) {
this.UsuarioDAOHibernate.salvar(usuario);
} else {
this.UsuarioDAOHibernate.Atualizar(usuario);
}
this.UsuarioDAOHibernate.salvar(usuario);
}
}
Classe de interface
UsuarioDAO.java
[code]/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package br.ifrr.usuario;
/**
*
-
@author Cristofe Rocha
*/
public interface UsuarioDAO {
public void salvar(Usuario usuario);
}[/code]