Eu sigo a seguinte "regra" para salvar o pedido:
Tenho 2 objetos:
Pedido pedido = new Pedido();
List<PedidoItem> Itens = new ArrayList<PedidoItem>();
Ao salvar, eu preencho os dados do pedido e populo os itens de acordo com a seleção do usuário.
1) Salvo o pedido -- long id = ...session().getPedidoDao().insert(pedido);
Inserindo o pedido já tenho id do mesmo.
2) Agora só alimentar o idPedido no filho e salva-lo:
for (PedidoItem item : lItens) item.setIdPedido(id);
...session().getPedidoItemDao().insertinTx(lItens);
Se carregar o pai novamente os filhos estarão lá.
O greenDao apesar de possuir relações master/detail ele trata cada tabela/classe de forma separada, e relações sempre trata apenas como leitura. O que havia dito no email anterior realmente está errado.
Em 9 de janeiro de 2014 13:57, Marcela <marcelaeloisa@gmail.com> escreveu:
Ola Felipe,
mesmo alterando conforme sua sugestão cai no mesmo erro, pois ao passar pelo getItens() da classe pedido ele continua nulo e a exceção eh lancada:
public List<Item> getItens() {
if (itens == null) {
if (daoSession == null) {...
throw new DaoException("Entity is detached from DAO context");
}
Em quinta-feira, 9 de janeiro de 2014 13h36min55s UTC-2, Felipe Aron escreveu:Marcela não existe SET para lista "filho", porém existe o método addAll() no GETExemplo:List<PedidoItem> lItens = new ArrayList<PedidoItem>();pedido.getItens().addAll(lItens);Lembrando que ao salvar no DB, é preciso salvar tanto o pai quanto filho. Somente um Insert() no pai não incluirá os filhos.Em 9 de janeiro de 2014 11:25, Marcela <marcel...@gmail.com> escreveu:
Olá Pessoal,
estou com dificuldade para persistir uma lista de filhos no objeto pai, quando mando inserir o pai.getListaFilhos() esta nullo, porem o greendao nao me gerou o metodo pai.setListaFilhos(...), como que a magia acontece? Em que momento o pai recebe a lista de filhos?
filho.setNome("Ana");
filhos.add(filho);
...
pai.setNome("Jose");
pai.setFilho(filho);
...
/*antes de fazer o insert, segundo a API (http://greendao-orm.com/documentation/relations/), devo fazer um get da Lista: 1. Get the to-many Java List */
List filhos = pai.getFilhos();
/* mas ao fazer o getFilhos() cai no erro: */
throw new DaoException("Entity is detached from DAO context");
Obrigada
--To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-...@googlegroups.com.
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.--سمووحخ ̷̴̐ خ ̷̴̐ خ ̷̴̐ خ امارتيخ ̷̴̐ خAnalista-Programador--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
سمووحخ ̷̴̐ خ ̷̴̐ خ ̷̴̐ خ امارتيخ ̷̴̐ خ
Analista-Programador
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.






0 comentários:
Postar um comentário