Удалить запись из объединяемой таблицы, когда установлено однонаправленное множество отношений - PullRequest
0 голосов
/ 30 октября 2018

У меня есть две модели под названием «Согласование и отгрузка». Я определил однонаправленное множество отношений между ними (так как не хочу тесно связанных поставок при сверке) и назвал его ReconShipmentMapped (не модель). Теперь выверка (R1) отображается на несколько отправлений (S1, S2, S3, S4, S5). Я могу установить эту связь, и найдено 5 записей сопоставления R1 в таблице ReconShipmentMapped (которая не является моделью). Теперь я хочу удалить отображение S3 из него. Когда я получаю сопоставленную отгрузку и удаляю из нее S3 и снова сохраняю ее, создается 9 записей в таблице. Я хочу, чтобы только 4 результирующих записи сохранялись в таблице ReconShipmentMapped.

Я упоминаю структуру модели ниже, пожалуйста, помогите мне:

Модель отгрузки

 @SuppressWarnings("serial")
 @Entity
 @Cacheable
 @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
 @JsonIgnoreProperties(value = "requestToken")
 public class Shipment {

 @Column(nullable = false, unique = true)
 private String barCode;
 @Column(nullable = false, unique = true)
 @JsonIgnore
 private String referenceId;
 @Column
 private String droppedBy;
 @Column
 private String collectedBy;
//getter setter methods
}

Модель сверки

 @SuppressWarnings("serial")
 @Entity
 public class Reconciliation 
 @Column
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "ReconShipmentMapped", joinColumns = { 
@JoinColumn(name = "payment_recon_id") }, inverseJoinColumns = {
        @JoinColumn(name = "shipment_id") })
private Set<Shipment> shipment = new HashSet<Shipment>();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...