在单边多对多的基础上修改双边的多对多关系。单边的多对多关系博客请见:http://blog.youkuaiyun.com/smilefyx/article/details/48931431讲解。
1、修改tag类
因为post已经配置了多对多关系,所以要将demo配置成双边多对多关系只需要在tag实体类中加入多对多关系配置即可。在tag类中加入如下post的集合属性已经相应的属性访问器。
@ManyToMany(mappedBy = "tags")
private Set<Post> posts = new HashSet<Post>();
public Set<Post> getPosts() {
return posts;
}
public void setPosts(Set<Post> posts) {
this.posts = posts;
}
使用@ManyToMany的mappedBy指定post类中与之对应的属性。
2、修改测试类
修改测试类,在其中加入如下代码:
session.refresh(tag);//原有代码
//-------------------新加代码--------------start-----------
System.out.println("标签”" + tag.getName() + "“下的相关帖子:");
for (Post p : tag.getPosts()) {
System.out.println("标题:" + p.getTitle());
System.out.print("所属标签:");
for (Tag t : p.getTags()) {
System.out.print(t.getName() + ", ");
}
System.out.println();
}
//------------------新加代码-------------end-----------
session.getTransaction().commit();//原有代码
session.close();