2016-04-15 6 views
0

Meine Hibernate/SQL-Server-Frameworks haben ein merkwürdiges Verhalten: Sie fügen UK-Constraints hinzu, die ich nicht will ... und ich verstehe nicht, woher diese Constraints kommen (Ich erstelle keine Sie!).Hibernate fügt fortwährend unerwünschte UK-Constraints hinzu

Hier ist die Tabelle, die eine zusätzliche UK zufällig erhalten:

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); 

Das Ergebnis ist es ok. Ich lege ein paar Daten in Tabelle A und B, und plötzlich, einige dieser erscheint: UK_weirgodduk

SELECT 
    OBJECT_NAME(o.parent_object_id) 
    FROM 
     sys.objects o 
    WHERE 
     o.name = 'UK_weirgodduk' AND o.parent_object_id <> 0 

=>

'TableA_TableB' 

Ich habe keine Ahnung, wo dies kommt von ... (Hibernate? SqlServer?) Aber ich nehme an, dass es stg ich nicht über Link-Tabellen oder/und überwinterte ... irgendein Tipp oder Idee?

Vielen Dank für das Lesen bis hier.

Antwort

0

Ich finde enventually die verantwortlich für dieses Problem: @OneToMany statt @ManyToMany, mit der dankbaren Hilfe der session des ‚hibernate.hbm2ddl.auto‘ auf ‚Update‘.

Ich denke, es ist ein weiterer Punkt für die Verwendung der späteren!

Verwandte Themen