Ola. Estou tendo um pouco de dificuldade para implentar um pedido. Talvez seja pela forma que estou fazendo. Gostaria de saber se algum de voces me da uma luz. A situacao eh a seguinte:
Tenho o Pedido e tenho os Itens do pedido. O pedido eu crio no Bean Pedido e os Itens eu crio no Bean Itens. Ate ai tudo certo. Se eu realizar o cadastro do pedido separado na pagina que o netbeans criou e depois for na pagina do item e selecionar o pedido e o produto e setar os outros campos, funciona. Porem nao eh nenhum pouco funcional. O que eu fiz:
1 - Preencho os dados do pedido. (nao persisto)
2 - Um Link me direciona para pagina de selecao dos produtos do pedido.
3 - Seleciono um produto para o pedido e a action me direciona para pagina de criacao do item(preco de compra, quantidade, etc).
4 - Ao confirmar a criacao do item, o mesmo eh colocado em uma colecao e o a pagina de selecao dos itens e chamada novamente. O processo se repete ate concluir todos os produtos desejados
5 - Ao adicionar todos os itens necessarios, um link direciona para a pagina do pedido, enviando para o Bean pedido a colecao de itens criadas, para poder ser dado o create().
Aonde esta o problema:
Quando eu pego o objeto itens e envio para o bean pedido, o objeto sempre vai vazio. estou utilizando o <f:param>. Se eu inverter, colocar todo esse controle para o bean pedido, quando eu crio o objeto item e o envio para o bean Pedido, ele tambem chega vazio. Esse envio/recuperacao de parametros so esta funcionando se o objeto ja estiver persistido no banco de dados. se nao tiver ocorrido a persistencia ele nao recupera os objetos, pois os mesmos ainda estao com ID = null. O problema eh esse? Os objetos passados por parametros nao ter um id! Eu devo primeiro persistir os objetos para depois recuperar seus IDs do banco e assim conseguir passa-los de um Bean para outro? Alguem tem algum exemplo similar para este caso?
Fico grato e esperando a ajuda dos colegas.