Java Hibernate:在相关表中映射额外列的位置?
我在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-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)