Fórum Persistir objeto e alterar outro com Hibernate #407701
16/09/2011
0
eu tenho o objeto carga e o objeto invoice, um objeto carga e composto por uma ou varias invoice, e uma invoice pertece em determinado tempo a uma carga, meu problema é que eu crio a invoice antes de criar a carga, em um processo bem anterior, e só depois no momento de consolidar a carga é que crio o obejto carga para persistir...
se os dois fossem criado no mesmo momento eu faria assim
class invoice{//...
@JoinColumn(name = "CARGA_ID", nullable = true) @ManyToOne(fetch = FetchType.LAZY) @Label("lblCarga") private Carga carga;
}
class Carga{ //... @OneToMany(mappedBy = "carga", fetch = FetchType.LAZY) @Cascade(value={CascadeType.ALL,CascadeType.DELETE_ORPHAN}) @OnDelete(action=OnDeleteAction.CASCADE) private List<Invoice> invoice;}
Bom, isso funcionaria perfeitamente se eu fosse cria os objetos no mesmo tempo persistindo assim:
class persitir{
void inicializar(){carga = new Carga();carga.setInvoice(new ArrayList<Invoice>());}
//meu problemapublic String salvar(){
try{ //ele tenta salvar novas invoices e dar pau pq as invoices que seleciono já estão persistidas cadastrarFacade.salvarCarga(this.carga) }catch(exception e){ e.pri... return null;
}
return Constantes.SALVAR;}
}
alguma solucao para isso?
Wisley Souza
Curtir tópico
+ 0Posts
16/09/2011
Wisley Souza
Gostei + 0
16/09/2011
Davi Costa
A não ser que vc alterasse seu modelo e mantenha esse relacionameto em uma tabela a parte.
att Davi
Gostei + 0
16/09/2011
Wisley Souza
facadeSalavar(carga)
for(Invoice item : lista){ item.setCarga(thisCarga); facadeAlterarInvoice(item);}
mas não acho isso pratico, estou desmembrando a parada que faz parte uma da outra;
algum solução mais elegante ou inteligente?
Gostei + 0
17/09/2011
Luciano Martins
Gostei + 0
19/09/2011
Wisley Souza
Gostei + 0
19/09/2011
Luciano Martins
Gostei + 0
27/09/2011
Dyego Carmo
Se funcionou... poderia fechar o chamado ?
Valeu !
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)