3
다음과 같은 모델이 있습니다. 기사에 몇 개의 태그가 있고 태그가 일부 기사에있을 수 있습니다. 는 그래서 3 개 테이블 대다 관계 :JPA를 사용하여 조인 테이블에서 행을 삭제하는 방법
- 제
- ARTICLE_TAG
- TAG
내가 태그를 삭제하면, 내가 삭제할 :
- 태그의 태그
- 태그와 th 사이의 모든 관계 전자 기사에 기사 태그가 지정되었습니다.
하지만 기사의 기사를 삭제하고 싶지는 않습니다.
어떻게하면됩니까?
나는 이것을 시도,하지만 작동하지 않습니다
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
for (Article article : tagToDelete.getArticles()) {
article.getTags().remove(tagToDelete);
}
session.delete(tagToDelete);
감사합니다!
@Entity
@Table(name="ARTICLE")
public class Article extends AbstractAuditedEntity {
@Id
@Column(name="ID", nullable=false)
private Long id;
@ManyToMany
@JoinTable(name="ARTICLE_TAG", [email protected](name = "ARTICLE_ID"), [email protected](name = "TAG_ID"))
private Set<Tag> tags = new HashSet<>();
public Article() {}
/** Getters & Setters */
}
@Entity
@Table(name="TAG")
public class Tag {
@Id
@Column(name="ID", nullable=false)
private Long id;
@ManyToMany(mappedBy="tags")
private Set<Article> articles = new HashSet<>();
public Tag() {}
/** Getters & Setters */
}
알아 냈습니까? –
테이블을 어떻게 만드나요? 최대 절전 모드 2 ddl 사용 하시겠습니까? –