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

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

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

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

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

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


发布评论
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

使用jackson转json解决双向关联循环调用知识解答
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。