有这样一个数据库,希望大神认真听我讲:一个“景区”表,一个“观察点”表,一个景区有很多观察点,一个观察点只属于一个景区(废话),问题来了,我想在每一个景区记录中加一个入口观察点的外键,(观察点之间的联系用另一个表来表示的),我想每查询一个景区的时候就从它的入口观察点进行遍历。不知道您听懂问题没:景区表有一个入口观察点的外键,观察点表有一个隶属的景区表外键,这样两个表就互为外键了,在hibernate中这样允许吗?又该怎么插入和删除数据呢?
互为外键没有关系啊。
前提是那个 “景区”表 的 “入口观察点” , 是要允许为 NULL 的。
这样插入的顺序就可以操作了。
先插入一个景区, 例如 “南京东路步行街”。 “入口观察点” 为 NULL
然后戚蔽散插并芦入很多个 观察点, 例如 置高氏地广场, 253广场, 名人
商业大厦。
(上面这些观察点, 所属景区都是 南京东路步行街 )
然后, 更新 景区 “南京东路步行街” 的 “入口观察点” 为 “253广场”
当要删除 景区的时候, 先设置景区的 “入口观察点” 为 NULL
然后删除所有景区下面的 观察点。
最后删除 景区。
我没怎么明白你的问题, 互为主猜瞎外键的两张表跟增删改差有关系吗。 再说我看你说的一个景区有很多观察点,一个观察点只属于一前弊个景区 这是一对多的关系 那么你插入数据的时候就按照主外键来添慧兆族加好了 好像跟互为主键没关系
单纯的就数据库的角度讲,插入并磨侍和删除数据是可行的,哪怕你景区表有N个游迟观察点的外键,表字段都是记录对应的信息嘛,当然这个信息可以是一个编号也可以是一个具体的名称,如果你明白你想插入什么数据,那还会有什么困难呢?如果你自己绝吵都被自己搞晕了,你就掉入主键外键再主键外键。。。的循环了