我正在使用Hibernate存储有关文章引用的信息。我以这种方式注释我的课程,以表达两篇文章之间的关系。
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinTable(name = "CITATIONS")
private Set<Article> citingArticles = new HashSet<Article>();
不幸的是,这是在citingArticle上使用UNIQUE约束转换的,这意味着我只能引用一篇文章来引用另一篇文章。
当然这不是我想要的,如何删除UNIQUE约束?
答案 0 :(得分:7)
如果您有多对多关系,则需要使用@ManyToMany
对其进行建模:
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinTable(name = "CITATIONS")
private Set<Article> citingArticles = new HashSet<Article>();
答案 1 :(得分:0)
我认为,您可以将集合类型从“设置”更改为“列表”,例如:
{1{2{3{4}}}}
因为Set中没有重复的项目