我的hibernate / sqlserver伙伴框架有一个奇怪的行为:他们不断添加我不想要的英国约束......而且我不知道限制来自哪里(我不创建它们!)。
这是随机获得额外英国的表格:
CREATE TABLE TableA_TableB
(
TableA_id numeric(19,0) NOT NULL,
TableB_id NUMERIC(19,0) NOT NULL
);
ALTER TABLE TableA_TableB ADD CONSTRAINT TableA_FK FOREIGN KEY (TableA_id) REFERENCES TableA(id);
ALTER TABLE TableA_TableB ADD CONSTRAINT TableB_FK FOREIGN KEY (TableB_id) REFERENCES TableB(id);
CREATE INDEX TableA_TableB_IDX ON TableA_TableB (TableA_id,TableB_id);
结果还可以。我在表A和B中插入了一些数据,突然之间出现了一些数据: UK_weirgodduk
SELECT
OBJECT_NAME(o.parent_object_id)
FROM
sys.objects o
WHERE
o.name = 'UK_weirgodduk' AND o.parent_object_id <> 0
=&GT;
'TableA_TableB'
我不知道它来自哪里......(hibernate?SqlServer?) 但是我觉得我没有看到关于链接表或/和休眠的任何提示或想法?
感谢您阅读,直到此处。
答案 0 :(得分:0)
我最终发现了这个问题的责任: @OneToMany而不是@ManyToMany,感谢sessionFactory&#39; hibernate.hbm2ddl.auto &#39;设置为&#39; 更新&#39;。
我认为不再使用后者还有一点!