sus*_*war 5 mapping hibernate one-to-many
我有以下Employee和的表结构Department。的组合键Employee有三列 - EMP_ID, DEPT_ID,DEPT_CODE
但部门只有两列与 Employee - DEPT_ID,的组合键匹配DEPT_CODE。
<class name="com.test.Employee" table="EMPLOYEE">
<composite-id>
<key-property column="EMP_ID" name="empId" type="java.lang.Integer"/>
<key-property column="DEPT_ID" name="deptID" type="java.lang.Integer"/>
<key-property column="DEPT_CODE" name="deptID" type="java.lang.Integer"/>
</composite-id>
<property column="EMP_NAME" name="empName" type="java.lang.String"/>
<list name="departments" table="DEPARTMENT" fetch="select">
<key>
<column name="DEPT_ID"></column>
<column name="DEPT_CODE"></column>
</key>
<index/>
<one-to-many class="com.test.Department" />
</list>
</class>
<class name="com.test.Department" table="DEPARTMENT">
<composite-id>
<key-property column="DEPT_ID" name="deptID" type="java.lang.Integer"/>
<key-property column="DEPT_CODE" name="deptID" type="java.lang.Integer"/>
</composite-id>
<property column="DEPT_NAME" name="deptName" type="java.lang.String"/>
</class>
Run Code Online (Sandbox Code Playgroud)
现在我想在这两个表上进行联接,但它给出错误,说主键EMP_ID未映射。如果我将映射 xmlEMP_ID中的“列出部门关键列”放在下面Employee,应用程序会加载但表中没有匹配的列Department。
那么有没有什么办法可以解决这个问题呢。当您有一个带有组合键的表和另一张主键是该组合键的子集的表时,如何在 hibernate 映射文件中配置join/ 。one-to-many mapping
我不太清楚你所说的“加入”是什么意思......你的问题听起来可能与此有些相似......
https://forum.hibernate.org/viewtopic.php?f=1&t=985555
也许问题是您尝试加入的 hql(您尚未提供)不正确?如果你能澄清你的问题,你可能会得到更好的答案。
| 归档时间: |
|
| 查看次数: |
3861 次 |
| 最近记录: |