을 저장 @OneToMany내가 3 개 테이블이 중복 레코드
@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 :
(1,1) (1,2) (1,3) :
@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 개)와 관련된 광고를 가지고 있다고 가정 할 이전 광고에 3 개의 광고를 더 추가하려고 시도하는 경우 업데이트 될 목록에 (1,1) (1,2) (1,3) (1,4) (1,5) (1, 6) DB의 레코드는 다음과 같습니다.
(1,1) (1,2) (1,3) (1,1) (1,3) (1,4) (1,5) (1,6)
모든 레코드를 삭제하여 수동으로 중복 레코드를 제거해야합니까? 새로운 것들? 또는이 문제에 대한 최대 절전 모드의 해결책이 있습니다.