joinColumns和inverseJoinColumns的使用方法

Posted cxchanpin

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的问题