3
删除连接表中的行我有以下模型:文章可以有一些标签,并且标签可以在一些文章上。 因此,它与3代表一个多一对多的关系:如何使用JPA
- 条
- ARTICLE_TAG
- TAG
当我删除一个标签,我想删除:
- TAG中的标签
- 标签和th之间的所有关系在ARTICLE_TAG标记的文章
但我不想删除ARTICLE当然的文章。
我该怎么做?
我尝试这一点,但它不工作:
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? –