Один к Многим с Каскадированием, не сохраняющим дочерние объекты - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь выполнить операцию слияния на моей родительской сущности, она должна сохранить дочерние сущности, так же как я использую hibernate cascade Save_Update.

вот отображение

Имя таблицы Данные:-

@OneToMany
@Cascade({org.hibernate.annotations.CascadeType.SAVE_UPDATE})
@Column(name="DATA_ID")
private List<Details> details;

Название таблицы Подробности: -

@ManyToOne
@JoinColumn(name="DATA_ID")
private Data data;

операция слияния с данными

Session.merge(Data)

Пожалуйста, дайте мне знать, где я ошибаюсь

1 Ответ

0 голосов
/ 25 октября 2018

Этот код работает для меня для сохранения объектов BilledProduct в объекте Bill:

@OneToMany (mappedBy="bill", cascade = CascadeType.ALL, fetch = FetchType.EAGER, orphanRemoval = true)
@HiddenField
@Getter
@Setter
@EqualsAndHashCode.Exclude
private Set<BilledProduct> items;



    Customer customer = customerService.findByCustomerNumber("000001");

    Bill bill = new Bill(customer, sequenceService.findNextBillNumberForCustomer(customer));

    HashSet items = new HashSet();

    Product product = productService.findByProductNumber("000001");
    BilledProduct item = new BilledProduct(bill, 2, product, product.getSellPrice());
    items.add(item);

    product = productService.findByProductNumber("000002");
    item = new BilledProduct(bill, 4, product, product.getSellPrice());
    items.add(item);

    bill.setItems(items);
    billService.save(bill);

Я могу обновить сущность Bill без проблем.Попробуйте CascadeType.ALL и orphanRemoval = true, возможно, это как-то связано с этим.

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