我有以下模型:一篇文章可以有一些标签,而一个标签可以在一些文章中。因此,这是一个涉及3个表的多对多关系:
我该怎么做?
我尝试了这个方法,但它不起作用:
感谢您!
- ARTICLE(文章)
- ARTICLE_TAG(文章标签)
- TAG(标签)
- TAG表中的标签
- ARTICLE_TAG中与标记和已标记文章之间的所有关系
我该怎么做?
我尝试了这个方法,但它不起作用:
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", joinColumns=@JoinColumn(name = "ARTICLE_ID"), inverseJoinColumns=@JoinColumn(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 */
}