Bom dia!
Galera ja estou procurando isso a um dia e não consegui nada, espero que alguem possa me dar uma luz, rsrs
E o seguinte tenho uma classe de pedido de compra (PcAvulso) e uma das parcelas deste pedido (PcAvulsoParcela), para representar como esta no banco de dados ok, então um pedido tem de 1 a N parcelas. a tabela PcAvulsoParcela contem um campo coo id do pedido de compra (PcAvulso_id).
O maximo que consegui fazer e salvar um peido e apenas uma parcela, isso consigo perfeitamente.
bom vamos as classes, não vou colocar inteira para não fica muito grande.
@Entity
public class PcAvulso {
@OneToMany(mappedBy="pcAvulso")
List<PcAvulsoParcela> pcAvulsoParcelas = new ArrayList<PcAvulsoParcela>();
}
@Entity
public class PcAvulsoParcela {
@ManyToOne(cascade = CascadeType.PERSIST)
private PcAvulso pcAvulso;
}
Aqui e apenas uma classe de teste, em que a inserção com apenas uma parcela funciona
DAO<PcAvulso> pcAvulsoDAO = new DAO<PcAvulso>(session,PcAvulso.class);
PcAvulso pcAvulso = new PcAvulso();
DAO<PcAvulsoParcela> pcAvulsoParcelaDAO = new DAO<PcAvulsoParcela>(session,PcAvulsoParcela.class);
PcAvulsoParcela pcParcela = new PcAvulsoParcela();
PcAvulsoParcela pcParcela1 = new PcAvulsoParcela();
pcParcela.setDataVencimento(new Date());
pcParcela.setValorParcela(500.00);
pcParcela.setDesativado(false);
pcParcela1.setDataVencimento(new Date());
pcParcela1.setValorParcela(780.00);
pcParcela1.setDesativado(false);
List<PcAvulsoParcela> pcAvulsoParcelas = new ArrayList<PcAvulsoParcela>();
pcAvulsoParcelas.add(pcParcela);
pcAvulsoParcelas.add(pcParcela1);
pcParcela.setPcAvulso(pcAvulso);
DAO<PcAvulsoParcela> pcAvulsoParcelaDAO = new DAO<PcAvulsoParcela>(session,PcAvulsoParcela.class);
PcAvulsoParcela pcParcela = new PcAvulsoParcela();
PcAvulsoParcela pcParcela1 = new PcAvulsoParcela();
pcParcela.setDataVencimento(new Date());
pcParcela.setValorParcela(500.00);
pcParcela.setDesativado(false);
pcParcela1.setDataVencimento(new Date());
pcParcela1.setValorParcela(780.00);
pcParcela1.setDesativado(false);
List<PcAvulsoParcela> pcAvulsoParcelas = new ArrayList<PcAvulsoParcela>();
pcAvulsoParcelas.add(pcParcela);
pcAvulsoParcelas.add(pcParcela1);
pcParcela.setPcAvulso(pcAvulso);
destinatarioPCDAO.save(destinatarioPc);
pcAvulsoDAO.save(pcAvulso);
pcAvulsoParcelaDAO.save(pcParcela);
tx.commit();
session.close();
Nota nao coloquei a classe inteira a penas a parte que relaciona os 2 em questão.
Agradeço muito, desde já.