2016-04-04 7 views
0

Ich verwende den DashDB-Datenbankservice von IBM Bluemix, um eine Cloud-Anwendung zu erstellen. Nun, wenn ich meine App starte, wird die hbm2ddl.auto -Eigenschaft in den Ruhezustand versetzt, so dass sie meine DashDB-Datenbank aktualisiert.DashDB - Probleme beim Generieren eines Fremdschlüssels mit Hibernate

jedoch der folgende Fehler erscheint auf der Konsole:

[ERROR ] HHH000388: Unsuccessful: alter table DASH104411.table1 add constraint 
FK_m1vvn3lavq1rjt9oghf0m3x5t foreign key (id_table2) references DASH104411.table2 
[ERROR ] DB2 SQL Error: SQLCODE=-1667, SQLSTATE=42858, SQLERRMC=DASH104411.TABLE2; 
ORGANIZE BY COLUMN;ENFORCED, DRIVER=4.19.49 

Ich weiß, dass standardmäßig die für dashDB erstellt Tabellen, die von Spalte organisiert sind und nur nicht-erzwungene Referenzrandbedingungen unterstützt werden. Wie erzeuge ich Fremdschlüssel, die nicht durch den Ruhezustand erzwungen werden? Gibt es eine Möglichkeit, Tabellen zu generieren, die nach Zeilen durch Ruhezustand organisiert sind?

Antwort

0

Nicht bewusst, dass Hibernate einen Mechanismus zum Generieren der create table-DDL mit der Klausel 'organize_by_row' generiert. Sie möchten wahrscheinlich den SQLDB-Dienst verwenden. Sehen Sie diesen früheren Beitrag - https://developer.ibm.com/answers/questions/21252/how-to-use-ruby-on-rails-with-analytics-warehouse-service-blu-acceleration-on-bluemix.html

+0

In der Tat, die hbm2ddl hat diese Flexibilität nicht. Aber ich habe gesehen, dass Hibernate ein anderes Tool hat, mit dem der Entwickler einen eigenen DLL-Generator erstellen kann. Dieses Thema ist sehr aufschlussreich zu dem Thema: http://stackoverflow.com/questions/438146/hibernate-hbm2ddl-auto-possible-values-and-what-they-do – Islon

+0

Wenn Sie bereit sind, durch einige Reifen gehen, u kann Code schreiben, damit Hibernate die DDLs in eine Datei schreibt (http://jandrewthompson.blogspot.in/2009/10/how-to-generate-ddl-scripts-from.html). Anschließend bearbeiten Sie die Datei von Hand und fügen die Klausel 'organize_by_row' der DDL für die Erstellungstabelle hinzu. Führen Sie diese Datei jetzt in Ihrer dashDB-Instanz aus –