Я не могу проверить типы данных для параметра, который я передаю через почтальона - PullRequest
0 голосов
/ 13 марта 2019

Этот метод позволяет сохранить родительский и дочерний элементы:

public Response createMultipleChilds(PurchaseOrderHeader purchaseOrderHeader){

       try {
           s=sf.openSession();
           tx=s.beginTransaction();
        createParent(purchaseOrderHeader);
        for(int i=0;i<purchaseOrderHeader.getPurchaseItemList().size();i++){

        purchaseOrderHeader.getPurchaseItemList().get(i).setHeaderDetails(purchaseOrderHeader);
        createChild(purchaseOrderHeader.getPurchaseItemList().get(i));
        }
         response.setStatus(200);
        response.setMessage(" both added succesfull");
        if(tx.isActive()){
            tx.commit();  }
    } catch (Exception e) {
        System.err.println("Exception : " + e.getMessage());
        response.setStatus(500);
        response.setMessage("parent not added");
        tx.rollback();

    }finally{
        s.close();
    }
    return response;

   }

Этот метод вызывается для сохранения родительских атрибутов:

private void createParent(PurchaseOrderHeader purchaseOrderHeader) {
        try {
            s=sf.openSession();
            tx=s.beginTransaction();
        PurchaseOrderHeader order=new PurchaseOrderHeader();
        if(purchaseOrderHeader.getCompany_code() instanceof String)
        order.setCompany_code(purchaseOrderHeader.getCompany_code());
        if(purchaseOrderHeader.getCurrency() instanceof String)
        order.setCurrency(purchaseOrderHeader.getCurrency());
        if(purchaseOrderHeader.getStatus() instanceof String)
        order.setStatus(purchaseOrderHeader.getStatus());
        if(purchaseOrderHeader.getVendor() instanceof String)
        order.setVendor(purchaseOrderHeader.getVendor());

        order.setPurchaseItemList(null);
        order.setDocument_number(purchaseOrderHeader.getDocument_number());
            s.save(order);
             response.setStatus(200);
            response.setMessage(" parent added succesfull");
            if(tx.isActive()){
                tx.commit();  }     
            } catch (Exception e) {
            System.err.println("Exception : " + e.getMessage());
            response.setStatus(500);
            response.setMessage("parent not added");
            tx.rollback();
        }
        finally{
            s.close();
        }
    }

Этот метод вызывается для хранения дочернего элемента:

private void createChild(PurchaseItem purchaseItem) {

        try {
            s=sf.openSession();
            tx=s.beginTransaction();
            PurchaseItem item=new PurchaseItem();
            if(purchaseItem.getItemName() instanceof String)
            item.setItemName(purchaseItem.getItemName());
            if(purchaseItem.getItemPrice() instanceof String)
            item.setItemPrice(purchaseItem.getItemPrice());
            item.setHeaderDetails(purchaseItem.getHeaderDetails());
            s.save(item);
             response.setStatus(200);
            response.setMessage(" child added succesfull");
            if(tx.isActive()){
                tx.commit();  }}
            catch (Exception e) {
            System.err.println("Exception : " + e.getMessage());
            response.setStatus(500);
            response.setMessage("child not added");
            tx.rollback();
        }
        finally{
            s.close();
        }
    }

Метод хранит как родительский, так и дочерний элементы, но он не проверяется (имеется в виду, когда я передаю значение типа int вместо строки. Он сохраняется даже при проверке типа данных)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...