Boa noite,
Acredito que seja simples mas não estou conseguindo fazer esse método funcionar.
Ele deveria pegar a sessionFactory que o Spring criou, mas quando uso o debug percebo que a sessionFactory tá null
[code]package br.com.contecacad.persistencia;
import java.lang.reflect.ParameterizedType;
import java.util.List;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.flex.remoting.RemotingInclude;
import org.springframework.orm.hibernate3.HibernateTemplate;
public class AbstractDAO {
protected HibernateTemplate template;
protected Class<T> classVO = null;
@SuppressWarnings("unchecked")
public AbstractDAO() {
this.classVO = (Class<T>) ((ParameterizedType) getClass()
.getGenericSuperclass()).getActualTypeArguments()[0];
}
@Autowired
public void setSessionFactory(SessionFactory sessionFactory) {
template = new HibernateTemplate(sessionFactory);
}
@RemotingInclude
public void adiciona(T t){
template.save(t);
}
@RemotingInclude
public void remove(T t){
template.delete(t);
}
public void atualiza(T t){
template.update(t);
}
@SuppressWarnings("unchecked")
@RemotingInclude
public List<T> getLista(){
return template.find(String.format("from %s", this.classVO.getName()));
}
@SuppressWarnings("unchecked")
@RemotingInclude
public List<T> findByExample(T t){
return template.findByExample(t);
}
}[/code]
O código de teste é:
[code] public static void main(String[] args) {
UsuarioViewDAO dao=new UsuarioViewDAO();
List<UsuarioView> lista = dao.getLista();
for (UsuarioView usuarioView : lista) {
System.out.println(usuarioView.getUsuario());
}[/code]
A exception gerada:
[quote]Exception in thread “main” java.lang.NullPointerException
at br.com.contecacad.persistencia.AbstractDAO.getLista(AbstractDAO.java:47)
at br.com.contecacad.valueObjects.papercutNative.ListarUsuariosView.main(ListarUsuariosView.java:13)[/quote]
Comecei a usar spring a pouco tempo, mas acho que fiz besteira. :-o
Abraços