Duvida com jtable+hibernate+java.util.List

3 respostas
joaosavio

Olá pessoal

Não sei o que coloco na linha em comentario

Usando ResultSet ficaria:

modelo.addRow(new Object[] {rs.getString("nome")});

mas com list e hibernate nao sei.

Usuarios.java

public void preencheTabela() throws SQLException
    {
        tabela.getColumnModel().getColumn(0).setPreferredWidth(100);
        DefaultTableModel modelo = (DefaultTableModel)tabela.getModel();
        modelo.setNumRows(0);
        
        GenericHibernateDAO dao = new GenericHibernateDAO() 
        {           
            public Class getVOClass()
            {
                return UsuarioVO.class;
            }
        };          
        
        List lista = dao.selectAll();
    
                
        for (int i = 0; i < lista.size(); i++)
        {
            //modelo.addRow(new Object[]            );
            
        }
}

GenericHibernateDAO.java

public abstract class GenericHibernateDAO 
{

    public abstract Class getVOClass();

    public abstract void initializeVO(ObjectVO object)throws HibernateException;

    protected void initializeCollection(Collection collection) throws HibernateException 
    {
	for (Iterator i = collection.iterator(); i.hasNext();) 
        {
	    initializeVO((ObjectVO) i.next());
	}
    }
   
    public List selectAll() throws SQLException 
    {
        Session session = HibernateUtil.getSession();
        Transaction transaction = session.beginTransaction();
        List list = session.createCriteria(this.getVOClass()).list();
        this.initializeCollection(list);
        transaction.commit();
        session.close();
        return list;
    }
    
    ...
}

3 Respostas

V

Ola…

vou fazer um exemplo usando generics e usando for do java 5

List<BeanCliente> lista = dao.selectAll();   
       
for (BeanCliente b : lista)   
{   
    modelo.addRow(b.getNome);   
}
joaosavio

List lista = dao.selectAll();

ficaria ListUsuarioVO lista = dao.selectALL();???

Assim da erro

Eu tentei deste jeito:

List lista = dao.selectAll();
                 
        for (UsuarioVO user : lista)   
        {   
            modelo.addRow(user.getLogin());   
        }

e aparece o erro: “incompatible types found: java.lang.Object
required: VO.UsuarioVO”

A classe UsuarioVO so tem sets e gets

V

Faca um debug e veja quais sao os tipos de objetos que estao dentro do list.

Criado 6 de fevereiro de 2008
Ultima resposta 10 de fev. de 2008
Respostas 3
Participantes 2