Hibernate不断添加不受欢迎的UK约束

时间:2016-04-15 17:10:23

标签: sql-server hibernate

我的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?) 但是我觉得我没有看到关于链接表或/和休眠的任何提示或想法?

感谢您阅读,直到此处。

1 个答案:

答案 0 :(得分:0)

我最终发现了这个问题的责任: @OneToMany而不是@ManyToMany,感谢sessionFactory&#39; hibernate.hbm2ddl.auto &#39;设置为&#39; 更新&#39;。

我认为不再使用后者还有一点!