逆向工程检查约束和;带/ Hibernate的索引?

时间:2011-02-16 18:57:04

标签: sql-server hibernate reverse-engineering jboss-tools hibernate-tools

我的任务是从一个大型的遗留SQL服务器数据库中进行逆向工程Hibernate映射。数据库广泛使用了检查约束(每个表几个)和索引,虽然我认为这些是DBA问题,但我们需要在Hibernate映射中保留它们。

使用Hibernate Tools for Eclipse,我可以成功地将表反向工程为.hbm.xml文件;但是,没有检查约束或索引存在。我知道可以手动将检查约束和索引直接添加到映射中,例如:

<class name="package.Tablename" 
       table="TABLENAME" 
       schema="dbo" 
       catalog="MyDB"
       check="START_DATE &lt; END_DATE"> <!-- here -->
   ...
   <property name="endDate" type="timestamp" index="IDX_END_DATE"> <!-- here -->
            <column name="END_DATE" />
   </property>
   ...
</class>

我们有数百个表和数千个索引/检查约束,因此手动将这些添加到反向工程映射中并不可行。

是否有可能让Hibernate Tools为我们吐出这些?如果是这样,怎么样?如果没有,任何人都可以推荐其他工具吗?

1 个答案:

答案 0 :(得分:0)

使用Hibernate Tools开箱即用是不可能的。但是,可以将DDL添加到<database-object>元素内的映射中。为了对此信息进行反向工程,您必须编写通过custom utility class调用的custom template

由于<database-object>的船只没有提供我的雇主想要的抽象级别和一般用户友好性,我们选择不采用这种方法并以不同的方式建模我们的数据库。