使用Hibernate使用复合键反转工程视图

时间:2014-01-19 19:18:56

标签: hibernate

我使用Hibernate对我们的旧Oracle数据库进行逆向工程,并且有许多数据库视图具有表示其中使用的表的主键的列。事实证明,我使用的所有视图都有一个主键列或复合主键(2列),可以唯一地标识视图中的每一行。我们还为视图定义了更新,插入和删除操作,以便正确更新基础表。

Hibernate无法确定视图键(因为视图自然没有键)所以 将密钥休眠以便它可以反向映射数据库是一种自然的选择,但我不知道如何指定复合键。

有没有办法在hibernate reverse engineering config xml中指定复合键?

1 个答案:

答案 0 :(得分:2)

只需将密钥的第二部分添加到hibernate逆向工程配置文件中的primary-key标记,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-reverse-engineering 
  SYSTEM "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" >

<hibernate-reverse-engineering>
    <schema-selection match-schema="MY_SCHEMA" match-table="MOE_VIEW"/>
    <table schema="MY_SCHEMA" name="MOE_VIEW">
        <primary-key>
            <key-column name="MR_MOE_ID"/>
            <key-column name="EXPERIMENT_ID"/>
        </primary-key>
    </table>
</hibernate-reverse-engineering>