table --> pim_tenant
<class name="PimTenant" table="pim_tenant">
<id name="tenantId" type="string" unsaved-value="null">
<column name="tenant_id" length="36" />
<generator class="uuid2"/>
</id>
<set name="workGroups" inverse="true">
<key column="tenant_id" not-null="true"/>
<one-to-many class="PimWorkgroup"/>
</set>
........................
</class>
</hibernate-mapping>
table --> pim_workgroup
<hibernate-mapping>
<class name="PimWorkgroup" table="pim_workgroup" >
<id name="workgroupId" type="string" unsaved-value="null">
<column name="workgroup_id" length="36" />
<generator class="uuid2"/>
</id>
<many-to-one foreign-key="fk_Workgroup_OwnerTenant"
name="ownerTenant" class="PimTenant" insert="false" update="false">
<column name="owner_tenant_id" length="36" />
</many-to-one>
...
</class>
</hibernate-mapping>
我正在尝试使用休眠 xml 映射生成 2 个表,其中外键列名与关联表列名不同,关联表列名是关联表中的主键,我在下面解释了场景。
我正在尝试使用上面提到的休眠 xml 映射生成pim_tenant和pim_workgroup表。
如果您看到owner_tenant_id是引用pim_tenant 的tenant_id列的外键,则外键列名称与主表不同(pim_workgroup --> tenant_id)
当在pim_workgroup表中创建表时,它会正确生成owner_tenant_id列作为外键,但表还有额外的新列tenant_id,不知道为什么它会在 pim_workgroup 表中生成这个额外的tenant_id列
如果我将列owner_tenant_id更改为tenant_id ,那么它将正确生成tenant_id 作为外键,而无需任何其他列
但根据我们的数据库设计, 我需要将此列名称作为owner_tenant_id 。
有人请帮助我,我尝试了很多方法,但没有任何效果。