Rodrigo, Blz!

Cara refiz o código java conforme o que você me passou, porém continua com erro, não está populando o datagrid, quanto a sua pergunta o EnderecosJpaController é classe de persistência de banco de dados do Hibernate, para ficar mais fácil de você entender irei colocar o código abaixo para você ver. Ahhh!!! tbm tem outra coisa no FlashBuilder eu não tinha percebido para está dando o seguinte erro:

<mx:DataGrid id="catalogoEnderecos" x="10" y="63" width="619" height="374" dataProvider="{catalogo}">

Data binding will not be able to detect assignments to "catalogo". enderecos.mxml /SisVACINAGUI/src/sistema line 82 Flex Problem


Classe EnderecosJpaController.java

package br.gov.sp.lins.dao;

import br.gov.sp.lins.dao.exceptions.NonexistentEntityException;
import br.gov.sp.lins.entidades.Enderecos;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import javax.persistence.EntityNotFoundException;

/**
 *
 * @author Dricz
 */
public class EnderecosJpaController {

    public EnderecosJpaController() {
        emf = Persistence.createEntityManagerFactory("SisVACINAPU");
    }
    private EntityManagerFactory emf = null;

    public EntityManager getEntityManager() {
        return emf.createEntityManager();
    }

    public void create(Enderecos enderecos) {
        EntityManager em = null;
        try {
            em = getEntityManager();
            em.getTransaction().begin();
            em.persist(enderecos);
            em.getTransaction().commit();
        } finally {
            if (em != null) {
                em.close();
            }
        }
    }

public void edit(Enderecos enderecos) throws NonexistentEntityException, Exception {
        EntityManager em = null;
        try {
            em = getEntityManager();
            em.getTransaction().begin();
            enderecos = em.merge(enderecos);
            em.getTransaction().commit();
        } catch (Exception ex) {
            String msg = ex.getLocalizedMessage();
            if (msg == null || msg.length() == 0) {
                Long id = enderecos.getId();
                if (findEnderecos(id) == null) {
throw new NonexistentEntityException("The enderecos with id " + id + " no longer exists.");
                }
            }
            throw ex;
        } finally {
            if (em != null) {
                em.close();
            }
        }
    }

    public void destroy(Long id) throws NonexistentEntityException {
        EntityManager em = null;
        try {
            em = getEntityManager();
            em.getTransaction().begin();
            Enderecos enderecos;
            try {
                enderecos = em.getReference(Enderecos.class, id);
                enderecos.getId();
            } catch (EntityNotFoundException enfe) {
throw new NonexistentEntityException("The enderecos with id " + id + " no longer exists.", enfe);
            }
            em.remove(enderecos);
            em.getTransaction().commit();
        } finally {
            if (em != null) {
                em.close();
            }
        }
    }

    public List<Enderecos> findEnderecosEntities() {
        return findEnderecosEntities(true, -1, -1);
    }

public List<Enderecos> findEnderecosEntities(int maxResults, int firstResult) {
        return findEnderecosEntities(false, maxResults, firstResult);
    }

private List<Enderecos> findEnderecosEntities(boolean all, int maxResults, int firstResult) {
        EntityManager em = getEntityManager();
        try {
Query q = em.createQuery("select object(o) from Enderecos as o");
            if (!all) {
                q.setMaxResults(maxResults);
                q.setFirstResult(firstResult);
            }
            return q.getResultList();
        } finally {
            em.close();
        }
    }

    public Enderecos findEnderecos(Long id) {
        EntityManager em = getEntityManager();
        try {
            return em.find(Enderecos.class, id);
        } finally {
            em.close();
        }
    }

    public int getEnderecosCount() {
        EntityManager em = getEntityManager();
        try {
Query q = em.createQuery("select count(o) from Enderecos as o");
            return ((Long) q.getSingleResult()).intValue();
        } finally {
            em.close();
        }
    }

}




Em 25/04/2011 13:43, Rodrigo Valentim escreveu:
O motivo deste erro ocorre é que ele não sabe quais são os dados que estão vindo do Java.. O java está retornando um List preenchido com vários Objetos e o Flex está esperando o uma Lista de Enderecos com seus respectivos tipos.

Então, quando você usa o List<T>, você está dizendo que nesta lista tem Endereços e cada endereço tem o seu ID, CEP, etc... assim, o Grid consegue pegar esta informação e exibir no grid.

Em 25 de abril de 2011 13:28, Rodrigo Valentim <rodrigo.valen...@gmail.com <mailto:rodrigo.valen...@gmail.com>> escreveu:

    Não entendi muito o motivo de estar usando o iterator se você pode
    usar o list já tipado com a entidade.

    Tente isso

        public List<Enderecos> catalogo(){
            /*Supondo que esta rotina abaixo é minha conexão com o
    banco que irá trazer os dados*/
            EnderecosJpaController listaEnderecos = new
    EnderecosJpaController();
            /*populando os dados que estão vindo do endereço, neste
    também será preciso por o return como tipo List<Enderecos>*/

            List<Enderecos> lista =
    listaEnderecos.findEnderecosEntities();

            return lista;
        }

    Veja se ajuda em algo.

    Em 25 de abril de 2011 12:48, Adriano Oliveira Castro
    <adriano_cas...@terra.com.br <mailto:adriano_cas...@terra.com.br>>
    escreveu:

        Fala pessoal FlexDev!

        Pessoal sou ainda iniciante no desenvolvimento de aplicações
        com o Flex, porém agora me deparei com um problema que está me
        tirando o sono faz mais de 3 semanas, pois já desenvolvi três
        aplicações com flex utilizando conexão com o banco de dados
        manual via JDBC e agora estou precisando fazer uma aplicação
        com o Hibernate, mas não estou conseguindo trazer os dados
        para o datagrid do FrontEnd.
        Estou utilizando para o desenvolvimento o NetBeans 6.9
        integrado com o Flash Builder 4.0 e BlazeDS, é importante
        dizer o CRUD está funcionando somente estou tendo problema na
        hora de listar mesmo os dados do BD no datagrid do Flex.

        Segue em anexo os códigos Flex e Java.


        []'s e obrigado.


        Adriano Oliveira Castro
        e-mails: adriano_cas...@terra.com.br
        <mailto:adriano_cas...@terra.com.br>
        dr...@terra.com.br <mailto:dr...@terra.com.br>
        msn: adriano_demo...@msn.com <mailto:adriano_demo...@msn.com>
        Celular: (14) 9725 6991
-- Você recebeu esta mensagem porque está inscrito na lista "flexdev"
        Para enviar uma mensagem, envie um e-mail para
        flexdev@googlegroups.com <mailto:flexdev@googlegroups.com>
        Para sair da lista, envie um email em branco para
        flexdev-unsubscr...@googlegroups.com
        <mailto:flexdev-unsubscr...@googlegroups.com>
        Mais opções estão disponíveis em
        http://groups.google.com/group/flexdev




-- Atenciosamente,
    Rodrigo Valentim




--
Atenciosamente,
Rodrigo Valentim
--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev


--

--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a