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