joinColumns和inverseJoinColumns的用法

Posted jpfss

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了joinColumns和inverseJoinColumns的用法相关的知识,希望对你有一定的参考价值。

最近在工作中使用springside,里面用到了hibernate的多对多

一开始我在配置department(部门表)和menu(栏目表)的时候,这样写的。

技术图片

Department实体类中的getMenus上写的joinColumn是menu_id,inverseJoinColumns写的是department_id

我的页面是根据所选部门查找出对应的栏目权限从而打勾,我数据库中间表默认把部门A的栏目全选了,可是出来的结果却令我大跌眼睛。

技术图片

最后经过我的检查,才发现,spring是把department的id当成了menu的id,在中间表查询了id为1的menu所对应的department,所以才会出现这种现象,只需要把位置换以下即可。

所以joinColumns是主操作表的中间表列,而inverseJoinColumns是副操作表的中间表列。

技术图片

技术图片

以上是关于joinColumns和inverseJoinColumns的用法的主要内容,如果未能解决你的问题,请参考以下文章

@OneToOne(optional=false) 和 @JoinColumn(nullable=false) 一起使用

joinColumns和inverseJoinColumns的用法

JoinColumns 在列和静态值上

使用 joinColumn 而不是 mappedBy 有啥危害?

joinColumns和inverseJoinColumns的使用方法

Hibernate不能使用@Table和@JoinColumn的问题