北京网站建设公司兴田德润专业,手机端网站制作,wordpress 直播 视频教程,淘客单网站问题一#xff1a;自连接表肯定是相似 Id(PK),parentId(FK),name ….了Id假如是主键的话#xff0c;parentId就是外键了#xff0c;可是树形结构肯定是有根节点了#xff0c;那么根节点的parentId按理说应该是null,原因是根节点没有父节点#xff0c;可是主键Id是不能为空…问题一自连接表肯定是相似 Id(PK),parentId(FK),name ….了Id假如是主键的话parentId就是外键了可是树形结构肯定是有根节点了那么根节点的parentId按理说应该是null,原因是根节点没有父节点可是主键Id是不能为空的啊导致外键parentId也不能为null,那本人输入数据的时候怎么办呢问题二本人为了避免问题一中的麻烦本人单独弄了个uuid主键ID而然后是唯一索引Bh(编号)然后是上级编号parentBh也就是自连接表项为 ID(PK),Bh(unique),parentBh(FK),name…这样以来外键parentId就可以为null了也就实现了树形结构根节点的父节点为null了。本来还挺高兴但是网上有人说本人这么设计数据库根本不合理说外键就应该关联主键真的是这样么那本人说的问题一怎么样解决呢本人看很多人定义自连接表parentId都default null却不设置为外键这样根节点的parentId的确默认为null了可是他们这样岂不是就不能用数据库自带的级联操作了么只能程序控制parentId和Id的一致性了吧问题三一开始本人是按照问题二描述的那样设计的数据库表可是后来本人发现假如是两张表有主外键关联关系的话本人修改或删除主表的唯一索引从表的外键会自动修改或删除/set null。可是假如是自连接表的话就只能级联删除/set null, 却不能级联更新这是为什么呢一修改唯一索引就报错。问题四由于本人不会在hibernate配置文件里(hbm.xml文件)配置主外键关联所以只能像以前那样写个基本的pojo和.hbm.xml然后生成数据库表最后本人在数据库中设置的外键关联现在使用没出现什么错误问一下是不是可以这样而不必非得把hibernate配置中也加上 和之类的配置呢问题五问一下假如客户想要看到数据库表中数据的树形结构不知道这样的形式能否容易实现呢请有耐心、有经验的高手们帮帮小弟吧解决方案40呵呵关键是你的父ID可以为空呀。你的思路有问题了。CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明自连接表的相关问题(树形结构)