前两天在使用Hibernate进行更新操作是,主表更新完成后,出现一个错误:其他三个与修改表相关联的表也进行了更新,并且把外键(关联主表的)设置为null。
看了一些问答,发现这个问题是一个很老的问题,很多解决方法要不就是把casecode设置为none,要么就设置inverse="true",但是我是使用的实体类注解生成的表,最后查找下发现了与inverse作用相似的mappedBy。
解决这个问题只需要让一方处理控制反转就可以了。我们可以把一对多关系中一的一方设置为处理的一方
"user"是其他关联表中多对一关系的实体类。
只需要添加mappedBy就ok了
注意:添加了mappedBy之后不能用@JoinColumn,不然会产生冲突。