JCombobox repetindo último item de uma tabela

Tenho um combobox que precisa trazer numa tela de funcionários uma lista de funções, eu criei a tabela de funções no banco de dados com algumas informações para teste e populei a combobox com essas informações, até ai tudo bem, porém quando testo a aplicação ao invés de a tela trazer todas as funções que cadastrei, ela traz a última função repetida pela quantidade de funções cadastradas. Conforme telas abaixo:

Segue abaixo o código em que eu listo as funções:

public Vector<Funcao> listarFuncao() throws Exception{ 
        Funcao fun = new Funcao();
        String sql = "select * from funcao order by funcao_desc";
        Vector<Funcao> funcoes = new Vector<Funcao>();
        pst = conectbd().prepareStatement(sql);
        rs = pst.executeQuery();
        while (rs.next()){
            fun.setCodigo(rs.getInt("funcao_cod"));
            fun.setDescricao(rs.getString("funcao_desc"));
            funcoes.add(fun);
        }       

    return funcoes;
  }

abaixo o metódo em que eu populo a combobox:

public void populaCombobox(){    
        try{
            Dao = new funcionarioData();
            f = new Funcionario();
            fun = new Funcao();
            funcoes = Dao.listarFuncao();
            func_funcao.setModel( new DefaultComboBoxModel(funcoes));
        }catch(Exception e){
            JOptionPane.showMessageDialog(this, e.getMessage());
        }       
     }