hibernate外键是否维护(inverse)的问题

来源:互联网 发布:知乎宣传片 编辑:程序博客网 时间:2024/06/05 03:58
以下是个人经验小结,如有不当请指出!谢谢~

1.在一对多的关系中,由于两表共用一个同名的外键,所以可以选择让其中一个表选择放弃维护外键就可以,也就是将"set"标签中的"inverse"属性设置为"true"(见下图),这样节省系统资源,提高程序运行效率。


2.在多对多的关系中,由于两表在第三表中分别使用各自的外键,外键不同名,所以两个表的配置文件中都要设置维护外键(默认值就是"true"),若存在其中一表选择放弃维护(属性值设为"true"),那么第三表(存放两表外键的表)中的外键信息将为null,信息不能键入,这就意味着如果该表不进行外键维护,那么,该表就无法与第三表取得关联,导致两表都无法连接在一起(两外键信息都无法放入数据库中的第三表),所以在多对多的表关系中,应将"inverse"属性的值设为"false"或者不设置,使用默认值。
原创粉丝点击