소프트웨어 및 태그의 두 클래스가 있다고 가정 해 보겠습니다. 소프트웨어는 많은 태그와 관련 될 수 있으며 각 태그는 많은 소프트웨어와 관련 될 수 있습니다. 그래서 다 대 다 관계가 있습니다.many to many and heavy add operation
우리는 최대 절전 모드 및 주석 사용 : 우리는 소프트웨어로 기존의 태그를 추가 할 때
@Entity
class Software .. {
@ManyToMany
public List<Tag> tags = new LinkedList<Tag>();
...
}
@Entity
class Tag .. {
@ManyToMany(mappedBy = "tags")
List<Software> softwares = new LinkedList<Software>();
...
}
그런 다음, 때마다, 우리는 (오른쪽 유지하기 위해 해당 태그에이 소프트웨어를 추가 할 필요가 대다 구조). 이처럼 :
class Software {
...
public void add(Tag tag) {
tags.add(tag);
tag.add(software);
}
...
}
이미 1000 0000 소프트웨어와 관련이 추가 태그는 다음 순간에 우리가 (sofware)tag.add를 호출 할 경우, 태그 클래스는 단지 추가하기 위해 메모리에 모든 소프트웨어를 다운로드합니다 그것에 하나의 소프트웨어. 권리?
질문 : 이것을 피하는 가장 좋은 방법은 무엇입니까?