Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate:在相关表中映射额外列的位置?_Java_Hibernate_Mapping_One To Many - Fatal编程技术网

Java Hibernate:在相关表中映射额外列的位置?

Java Hibernate:在相关表中映射额外列的位置?,java,hibernate,mapping,one-to-many,Java,Hibernate,Mapping,One To Many,我在Hibernate映射的一对多关系中有两个表: <hibernate-mapping> <class name="Class1" table="TABLE_1" dynamic-update="true"> <meta attribute="implement-equals">true</meta> <cache usage="read-write"/> <id name="id" col

我在Hibernate映射的一对多关系中有两个表:

<hibernate-mapping> 
  <class name="Class1" table="TABLE_1" dynamic-update="true">
    <meta attribute="implement-equals">true</meta>   
    <cache usage="read-write"/>

    <id name="id" column="KEY_1" length="5" >

....
    </id>
    <property name="property1a" column="COLUMN_1A" type="string" length="10" />
    <property name="property1b" column="COLUMN_1B" type="string" length="10" />
    <set name="properties2Set" table="TABLE_2" lazy="true" fetch="subselect" cascade="all">
        <key column="FOREIGN_KEY_1"/>
        <composite-element class="Class2">
            <property name="property2a" type="string" column="COLUMN_2A"/>
            <property name="property2b" type="string" column="COLUMN_2B"/>
            <property name="property2c" type="string" column="COLUMN_2C"/>    
    </composite-element>
    </set>
  </class>
</hibernate-mapping> 
我想将该列添加到表中

COLUMN_ID_NUMBER NUMBER(5) DEFAULT 0 NOT NULL
将约束更改为

CONSTRAINT PK_NEW PRIMARY KEY (FOREIGN_KEY_1, COLUMN_ID_NUMBER)
并生成列_ID _NUMBER的值,以避免违反约束


在何处添加将映射到列\u ID\u NUMBER的属性,以及如何生成其值?是否可以保持Class2的结构不变

我不确定我是否正确理解了你的问题。您添加新列ID号的原因是什么?它是复合键属性还是什么?它是DB表中的新列吗?仅供参考:如果要添加复合键,则必须在映射中提及所有键。是的,列_ID_NUMBER将构成复合键的一部分。我想添加一列,以获得由两列组成的主键,并允许在其他列中插入null。
COLUMN_ID_NUMBER NUMBER(5) DEFAULT 0 NOT NULL
CONSTRAINT PK_NEW PRIMARY KEY (FOREIGN_KEY_1, COLUMN_ID_NUMBER)