我的任务是从大型、遗留的 sql server 数据库对 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 为我们吐出这些?如果是这样,怎么做?如果没有,任何人都可以推荐另一个可以做到这一点的工具吗?