私は、大規模なレガシーSQLサーバーデータベースからのHibernateマッピングのリバースエンジニアリングを担当しました。データベースはチェック制約(テーブルごとにいくつか)とインデックスを広範囲に使用します。これらはDBAの懸念事項であると私は主張しますが、Hibernateマッピングでそれらを保持する必要があります。
Hibernate Tools for Eclipseを使用すると、テーブルを.hbm.xmlファイルにリバースエンジニアリングできます。ただし、チェック制約またはインデックスはありません。チェック制約とインデックスの両方を手動でマッピングに直接追加できることを知っています。例:
<class name="package.Tablename"
table="TABLENAME"
schema="dbo"
catalog="MyDB"
check="START_DATE < END_DATE"> <!-- here -->
...
<property name="endDate" type="timestamp" index="IDX_END_DATE"> <!-- here -->
<column name="END_DATE" />
</property>
...
</class>
数百のテーブルと数千のインデックス/チェック制約があるため、これらをリバースエンジニアリングされたマッピングに手動で追加することは実際には実現可能ではありません。
Hibernate Toolsにこれらを吐き出させることは可能ですか?もしそうなら、どのように?そうでない場合、誰かがこれを行う別のツールを推奨できますか?