@OneToMany and persisting two tables

I have two tables, TestOrder which is basically for order header data and TestOrderDetail for order details i.e. holding Items of the order. When I enter more than one items for an order and save it, it saves only first items in TestOrderDetail table. Any help to find the solution clue will be appreciated.

public class TestOrder implements Serializable {

.................
    @OneToMany(fetch = FetchType.LAZY,
            cascade = {CascadeType.PERSIST, CascadeType.REMOVE})
    @JoinColumn(name = "TestOrder_SoDocNumber")
    private Set<TestOrderDetail> items = new HashSet();

    public Set<TestOrderDetail> getItems() {
        return Collections.unmodifiableSet(items);
    }

    public void setItems(Set<TestOrderDetail> items) {
        this.items = items;
    }

    public void addItem(TestOrderDetail item) {
        item.setTestOrder(this);
        items.add(item);
    }
 solution clue will be appreciated.

public class TestOrderDetail implements Serializable { ................................. @JoinColumn(name = "TestOrder_SoDocNumber", referencedColumnName = "SoDocNumber", insertable=false, updatable=false, nullable = false) @ManyToOne private TestOrder testOrder; Inside View

    private void addTableButtons() {
        newButton = new Button("Add", new Button.ClickListener() {
            public void buttonClick(Button.ClickEvent event) {
                try {
                    testOrder = new TestOrder();
                    detailOrder=new ArrayList<TestOrderDetail>();
                    form.setEntity(testOrder);
                    formD.setEntity(new TestOrderDetail());
                } catch (Exception e) {
                    return;
                }
            }
        });
        saveButton = new Button("Save Line Item", new Button.ClickListener() {
            public void buttonClick(Button.ClickEvent event) {
                try {
                    TestOrderDetail detail = new TestOrderDetail();
                    detail.setProducts((TestProduct) formD.products.getValue());
                    detail.setReqShipDate(formD.reqShipDate.getValue());
                    detail.setSoQty(new BigDecimal(formD.soQty.getValue()));
                    detail.setUnitPrice(new BigDecimal(formD.unitPrice.getValue()));
                    detail.setTestOrder((TestOrder) testOrder);
                    testOrder.addItem(detail);
                    tableDetail.addBeans(detail);
                } catch (Exception e) {
                }
            }
        });

    }
 public void save(TestOrder entity) {

        testOrder.setCustomers((ArCustomer) form.customers.getValue());
        testOrder.setOrderDescription(form.orderDescription.getValue());
        testOrder.setSoDate(form.soDate.getValue());
  
        if (entity.getSoDocNumber() == null) {
            facade1.create(testOrder);
        } else {
            facade1.edit(testOrder);
        }
    }