У меня есть 3 таблицы: Playlist, Реклама, PlaylistadMap (Join Таблица)@OneToMany сохранить дубликаты записей
1- PlayList:
@Entity
@Table(name = "playlist", catalog = "advertisedb")
public class Playlist implements java.io.Serializable {
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
private Set<PlaylistadMap> PlaylistadMaps = new HashSet<PlaylistadMap>(0);
}
2- Реклама :
@Entity
@Table(name = "advertisement", catalog = "advertisedb")
public class Advertisement implements java.io.Serializable {
@OneToMany(fetch = FetchType.LAZY, mappedBy = "advertisement")
private Set<PlaylistadMap> PlaylistadMaps = new HashSet<PlaylistadMap>(0);
}
3- PlaylistadMap:
@Entity
@Table(name = "playlist_ad_map", catalog = "advertisedb")
public class PlaylistadMap implements java.io.Serializable {
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "fk_advertisement", referencedColumnName = "pkid", nullable = false)
private Advertisement advertisement;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "fk_playlist", referencedColumnName = "pkid", nullable = false)
private Playlist playlist;
}
позволяет предположить, что список воспроизведения 1 имеет 3 схожие объявления в базе данных:
(1,1) (1,2) (1,3) если я пытаюсь добавить еще 3 объявления к старым , поэтому список, который будет обновляться, будет содержать (1,1) (1,2) (1,3) (1,4) (1,5) (1, 6) записей в БД будут:
(1,1) (1,2) (1,3) (1,1) (1,2) (1,3) (1,4) (1,5) (1,6)
Мне нужно удалить дубликаты записей вручную, удалив все записи, затем вставьте новые? или есть решение в спящем режиме для этой проблемы.