1

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

4

1 回答 1

0

使用 Hibernate Tools 开箱即用是不可能的。但是,可以将 DDL 添加到<database-object>元素内部的映射中。为了对这些信息进行逆向工程,您必须编写一个通过自定义模板调用的自定义实用程序类

由于大量的<database-object>s 无法提供我的雇主想要的抽象级别和一般用户友好性,因此我们选择不采用这种方法并以不同的方式对我们的数据库进行建模。

于 2011-04-07T14:15:07.880 回答