Siv*_*iva 10 java database orm hibernate hibernate-mapping
嗨我有2张桌子如下
表格1:
+-------------------+
| ID LOB col1 col2 |
+-------------------+
主键(ID和LOB)
表2:
+-----------------+
| SK ID col3 col4 |
+-----------------+
主键(SK)
我需要从表2到table1给出多对一的关系,因为table1具有compositePrimaryKey(ID和LOB),但table2没有任何与LOB相关的列.我无法提供映射.请帮忙.
编辑我已经尝试了Table2的hibernate映射:
<many-to-one name="class1Obj" class="com.acs.enterprise.common.Class1"
lazy="proxy" insert="false" update="false">
<column name="ID" />
<column name="LOB" />
</many-to-one>
Run Code Online (Sandbox Code Playgroud)
以上不起作用.在获取记录时,它尝试从table2获取LOB代码,这在表1中根本不存在
假设table2.SK是一个 FKtable1.ID并且不存在table1具有相同 ID 的条目,您可以按如下方式编写映射:
@ManyToOne
@JoinColumn(name = "ID", insertable = false, updatable = false)
private Class1 class1Obj;
Run Code Online (Sandbox Code Playgroud)
如果有更多table1行具有相同的 ID,则映射将失败,因为子级将与多个父级匹配。
因此,为了实现正确的many-to-one关联,您需要一个到唯一父列的 FK。
| 归档时间: |
|
| 查看次数: |
498 次 |
| 最近记录: |