私は3つのテーブルを持っています:Playlist、Advertisement、PlaylistadMap(テーブルに参加)
1-プレイリスト:
@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)DB内のレコードは次のようになります。
(1,1)(1,2)(1,3)(1,1)(1,2)(1,3)(1,4)(1,5)(1,6)
すべてのレコードを削除してから新しいレコードを挿入して、重複するレコードを手動で削除する必要がありますか?または、この問題の休止状態に解決策があります。