Не обновляются сущности @ManyToMany

Есть 2 сущности: Order.java

@Entity
@Table(name = "orders")
public class Order {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private int id;

@Column(name = "price")
private int price;

@ManyToMany(mappedBy = "orders",
        fetch = FetchType.LAZY,
        cascade= CascadeType.ALL
)
private Set<Master> masters;

@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name = "garage_id")
private Garage garage;

@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name = "client_id")
private Client client;

........... 
}

и

Master.java

Entity
@Table(name = "masters")
public class Master extends Person {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private int id;

@ManyToOne(targetEntity = Order.class,
        fetch = FetchType.LAZY
)
@JoinColumn(name = "current_order_id")
private Order currentOrder;

@ManyToMany(mappedBy = "masters",
        fetch = FetchType.LAZY
)
private Set<Garage> garage;

@ManyToMany(fetch = FetchType.LAZY,
        cascade = CascadeType.ALL)
@JoinTable(name = "orders_and_masters",
        joinColumns = @JoinColumn(name = "master_id"),
        inverseJoinColumns = @JoinColumn(name = "order_id")
)
private Set<Order> orders = new HashSet<>();

.................
}

Если сделать update заказа, то сет с мастерами не изменится. Также, если сделать update мастера, то currentOrder тоже не изменится. Ошибка, я думаю, в связях. Ибо передаю правильно и в дебаге прямо перед выполнением update, у сущности все поля правильно изменились, даже сет с мастерами у заказа. Остальные поля, то есть Garage, Client обновятся и с ними всё хорошо.


Ответы (0 шт):