Qual o erro?

7 respostas
anunes

Gostaria de saber qual o erro nesse método.

package br.gs.dao;

import java.util.List;

public interface DaoGenerico<T> {
	T inserir(T t);
	T alterar(T t);
	T excluir(T t);
}
package br.gs.dao;

import java.lang.reflect.ParameterizedType;
import java.util.List;

public class HibernateGenericDao<T> implements DaoGenerico<T> {

	@Override
	public T inserir(T t) {
		HibernateUtil.getSessao().save(t);
		return t;		
	}

	@Override
	public T alterar(T t) {
		HibernateUtil.getSessao().update(t);
		return t;
	}

	@Override
	public T excluir(T t) {
		HibernateUtil.getSessao().delete(t);
		return t;
	}

}
package br.gs.dao;

import java.util.List;




public interface OrdemServicoDao<OrdemServico> extends DaoGenerico<OrdemServico> {
	List<OrdemServico> listarTodos();
}
package br.gs.dao;

import java.util.List;

import br.gs.domain.OrdemServico;

public class HibernateOrdemServicoDao extends HibernateGenericDao<OrdemServico> implements OrdemServicoDao<OrdemServico> {

	@SuppressWarnings("unchecked")
	@Override
	public List<OrdemServico> listarTodos() {
		String hql = "from OrdemServico";
		return HibernateUtil.getSessao().createQuery(hql).list();
	}

}
Erro:
OrdemServicoDao<OrdemServico> osd = new HibernateOrdemServicoDao();
        System.out.println(osd.listar());
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 "AWT-EventQueue-0" java.lang.NullPointerException
	at br.gs.dao.HibernateOrdemServicoDao.listar(HibernateOrdemServicoDao.java:13)
	at br.gs.vision.Principal.formWindowOpened(Principal.java:390)
	at br.gs.vision.Principal.access$0(Principal.java:380)
	at br.gs.vision.Principal$1.windowOpened(Principal.java:89)
	at java.awt.AWTEventMulticaster.windowOpened(Unknown Source)
	at java.awt.Window.processWindowEvent(Unknown Source)
	at javax.swing.JFrame.processWindowEvent(Unknown Source)
	at java.awt.Window.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$000(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

7 Respostas

Rodrigo_Sasaki

anunes:
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at br.gs.dao.HibernateOrdemServicoDao.listar(HibernateOrdemServicoDao.java:13)

Alguma variável na linha 13 da classe HibernateOrdemServicoDao, no método listar, está nula.

drsmachado

O que está nesta linha

br.gs.dao.HibernateOrdemServicoDao.listar(HibernateOrdemServicoDao.java:13)

Não encontrei este método nos códigos que postou.

anunes
package br.gs.dao;

import java.util.List;

import br.gs.domain.OrdemServico;

public class HibernateOrdemServicoDao extends HibernateGenericDao<OrdemServico> implements OrdemServicoDao<OrdemServico> {

	@SuppressWarnings("unchecked")
	@Override
	public List<OrdemServico> listar() {
		String hql = "from OrdemServico";
		return HibernateUtil.getSessao().createQuery(hql).list();
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<OrdemServico> listarTodos() {
		String hql = "from OrdemServico";
		return HibernateUtil.getSessao().createQuery(hql).list();
	}

}
Rodrigo_Sasaki

Nessa linha: return HibernateUtil.getSessao().createQuery(hql).list(); Acredito que o método getSessao() esteja retornando null

anunes
package br.gs.dao;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;


public class HibernateUtil {
	
	private static Session sessao;	
	private static SessionFactory sessionFactory;

	static {
		Configuration configuracao = new AnnotationConfiguration().configure("hibernate.cfg.xml");
		sessionFactory = configuracao.buildSessionFactory();
	}
	
	public static SessionFactory getSessionFactory(){
		return sessionFactory;
	}
	
	public static void setSessao(Session sessao) {
		HibernateUtil.sessao = sessao;
	}
	
	public static Session getSessao() {
		return sessao;
	}

}

eu ja rodei tudo que tinha de codigo e nao achei ;x

anunes

Alguém tem alguma sugestão?

ViniGodoy

E onde vc chamou o setSessao? Ele não deveria ter sido criado pelo SessionFactory?

Criado 19 de junho de 2012
Ultima resposta 19 de jun. de 2012
Respostas 7
Participantes 4