IBM BluemixのdashDBデータベースサービスを使用してクラウドアプリケーションを作成しています。さて、私のアプリケーションを実行すると、hibernate hbm2ddl.autoプロパティが更新するように設定されているので、dashDBベースが更新されます。DashDB - Hibernateで外部キーを生成する際の問題
ただし、次のエラーがコンソールに表示されます。
[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
は、私は、デフォルトでは、dashDB用に作成されたテーブルは、カラムのみで編成されている、ということを知っている参照制約がサポートされている非施行。だから、どのように私は休止状態で強制されていない外部キーを生成するのですか?休止状態で行ごとに整理されたテーブルを生成する方法はありますか?
確かに、hbm2ddlにはこのような柔軟性がありません。しかし、Hibernateには、開発者が独自のDLLジェネレータをビルドできるようにする別のツールがあることがわかりました。このトピックは非常にテーマで啓発されています:http://stackoverflow.com/questions/438146/hibernate-hbm2ddl-auto-possible-values-and-what-they-do – Islon
あなたはいくつかのフープを通過する場合は、あなたはHibernateにファイル内のDDLを書き出させるためのコードを書くことができます(http://jandrewthompson.blogspot.in/2009/10/how-to-generate-ddl-scripts-from.html)。次に、ファイルを手作業で編集し、create table DDLに 'organize_by_row'句を追加します。このファイルをdashDBインスタンスで実行します。 –