Мне была поручена обратная инженерия отображений Hibernate из большой устаревшей базы данных sql-сервера. В базе данных широко используются проверочные ограничения (по несколько на таблицу) и индексы, и хотя я бы сказал, что это проблемы DBA, мы обязаны сохранить их в отображениях Hibernate.
Используя Hibernate Tools для Eclipse, я могу успешно преобразовать наши таблицы в файлы .hbm.xml; однако ни одно из проверочных ограничений или индексов не присутствует. Я знаю, что можно вручную добавлять как проверочные ограничения, так и индексы непосредственно к отображению, например ::100100
<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 выкладывать это за нас? Если так, то как? Если нет, может кто-нибудь порекомендовать другой инструмент, который будет делать это?