【问题标题】:Reverse engineering views with composite keys using Hibernate使用 Hibernate 使用复合键逆向工程视图
【发布时间】:2014-02-08 21:05:38
【问题描述】:

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

Hibernate 无法确定视图的键(因为视图自然没有键)所以 给hibernate提供键是很自然的,这样它就可以反向映射数据库,但我不知道如何指定复合键。

有没有办法在hibernate逆向工程配置xml中指定复合键?

【问题讨论】:

    标签: hibernate


    【解决方案1】:

    只需将密钥的第二部分添加到休眠逆向工程配置文件中的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>
    

    【讨论】:

    • 我在 Hibernate 4 上试过这个,但我仍然得到一个默认的 Long id 而不是多列主键。
    猜你喜欢
    • 2015-02-11
    • 2014-11-24
    • 2021-05-14
    • 1970-01-01
    • 2011-07-18
    • 2011-03-13
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多