Es decir
item1 .......................cant..........precio....... subTotal
item2 .......................cant..........precio....... subTotal
item3 .......................cant..........precio....... subTotal
item4 .......................cant..........precio....... subTotal
cuando hago el proceso de persistir la Factura y su respetiva List<DetalleFactura>
me guarda en cualquier orden.. y siempre distinto
item4, item2, item1, item3
item3, item1, item4, item3
Obs: Todo es persistido, las PK, fk , los serial (Postgre), todo se crea correctamente, solo que me hace el PUTISIMO RANDOM!! al insertar los DetalleFactura..
Código C:
Ver original
EntityManager em = null; try { em = getEntityManager(); em.getTransaction().begin(); List<DetallesVenta> attachedDetallesVentaList = new ArrayList<DetallesVenta>(); for (DetallesVenta detallesVentaListDetallesVentaToAttach : facturaVenta.getDetallesVentaList()) { detallesVentaListDetallesVentaToAttach = em.merge(detallesVentaListDetallesVentaToAttach); attachedDetallesVentaList.add(detallesVentaListDetallesVentaToAttach); } facturaVenta.setDetallesVentaList(attachedDetallesVentaList); em.persist(facturaVenta); for (DetallesVenta detallesVentaListDetallesVenta : facturaVenta.getDetallesVentaList()) { FacturaVenta oldFacturaOfDetallesVentaListDetallesVenta = detallesVentaListDetallesVenta.getFactura(); detallesVentaListDetallesVenta.setFactura(facturaVenta); detallesVentaListDetallesVenta = em.merge(detallesVentaListDetallesVenta); if (oldFacturaOfDetallesVentaListDetallesVenta != null) { oldFacturaOfDetallesVentaListDetallesVenta.getDetallesVentaList().remove(detallesVentaListDetallesVenta); oldFacturaOfDetallesVentaListDetallesVenta = em.merge(oldFacturaOfDetallesVentaListDetallesVenta); } } em.getTransaction().commit();