父记录和第一个孩子存储到数据库,但第二个孩子存储为null

时间:2019-03-13 11:30:17

标签: mysql spring hibernate rest

此方法用于建立和保存父记录和子记录,但仅保存一个孩子。

ffmpeg-python

调用此方法以保存父项:

public PurchaseResponse saveHeaderItem(PurchaseOrderHeaderDto head)
{
    try
    {
        session=sessionfactory.getCurrentSession();
        transaction=session.beginTransaction();
        PurchaseOrderHeader Head=importDto1(head);
        createParent(Head);
        for (int i = 0; i < Head.getPurchaseOrderItemlist().size(); i++)
        {
            Head.getPurchaseOrderItemlist().get(i).setHeaderDetails(Head);
            createChild(Head.getPurchaseOrderItemlist().get(i));

            //session.save(Head.getPurchaseOrderItemlist().get(i));
        }
        if(transaction.isActive())
            transaction.commit();
        session.close();

        purchaseresponse.setMessage("both Successfull");
        purchaseresponse.setStatus("200");
        return purchaseresponse;
    }
    catch(Exception e)
    {
        System.err.println("both"+e.getMessage());
        purchaseresponse.setMessage("both UnSuccessfull");
        purchaseresponse.setStatus("500");
        return purchaseresponse;
    }
}

调用此方法存储子项:

public PurchaseResponse createParent(PurchaseOrderHeader head)
{
    try
    {
        session=sessionfactory.getCurrentSession();
        transaction=session.beginTransaction();
        if(head.getPayment_terms() instanceof String)
        {
            //  payment=(String) header.getPayment_terms();
            System.err.println(head);
            head.setPayment_terms(head.getPayment_terms());
        }

        if(head.getStatus() instanceof String)
        {
            //  status=(String) header.getStatus();
                System.err.println(head);
            head.setStatus(head.getStatus());
        }

        if(head.getVendor() instanceof String)
        {
            //  vendor=(String) header.getVendor();
            System.err.println(head);
            head.setVendor(head.getVendor());
        }
        session.save(head);
        if(transaction.isActive())
            transaction.commit();
        purchaseresponse.setMessage("parent Successfull");
        purchaseresponse.setStatus("200");

        session.close();
        return purchaseresponse;
    }
    catch(Exception e)
    {
        System.err.println("parent"+e.getMessage());
        purchaseresponse.setMessage("parent UnSuccessfull");
        purchaseresponse.setStatus("500");
        session.close();
        return purchaseresponse;
    }

}

在数据库中,存储了父级,存储了第一个孩子,但第二个孩子存储为空。

0 个答案:

没有答案