There are 2 related entities in a Hibernate JPA project:
@Entity
public class Order {
@Id @GeneratedValue(generator="order_sequence", strategy=GenerationType.IDENTITY)
private int id;
}
and
@Entity
public class OrderItem {
@Id @GeneratedValue(generator="orderitem_sequence", strategy=GenerationType.IDENTITY)
@ManyToOne(cascade = CascadeType.ALL)
private Order order;
//....
}
With some detailed code ignored, I tried to merge a new Order instance with a List of OrderItem instances in cascade manner, i.e. merge the List<OrderItem> with an EntityManager - "em" in one go without merge the new Order:
for (OrderItem orderItem: orderItemList) {
em.merge(orderItem);
}
But encountered error when the size of the List<OrderItem> is greater than 1: Unique index or primary key violation since the same Order is merged multiple times when merging each Order instance.
Question: How to resolve this error without merge the Order instance explicitly as a separate merge?