当前位置: 代码迷 >> Java Web开发 >> Hibernate 注脚 多对多 双向
  详细解决方案

Hibernate 注脚 多对多 双向

热度:2496   发布时间:2016-04-10 22:43:36.0
Hibernate 注解 多对多 双向
//用户类

@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(
name="xz_forfriend" ,
joinColumns={@JoinColumn(name="uid")} ,
inverseJoinColumns={@JoinColumn(name="fid")}
)
public Set<User> getForfriends() {
return forfriends;
}
public void setForfriends(Set<User> forfriends) {
this.forfriends = forfriends;
}


//   保存···
User uuser = userDao.getUser(uid);
User fuser = userDao.getUser(fid);


uuser.getForfriends().add(fuser);
fuser.getForfriends().add(uuser);

userDao.save(fuser);
userDao.save(uuser);

数据库 添加不进去···



------解决方案--------------------
cascade = CascadeType.ALL
已经配置级联关系,就不需要双向添加了

User uuser = userDao.getUser(uid);
User fuser = userDao.getUser(fid);
//单向添加即可
uuser.getForfriends().add(fuser);
userDao.save(fuser);

如果保存依然有问题,请检查中间表是否正确建立了
  相关解决方案