<composite-id>
标记。
<hibernate-mapping>
<class name="EmpInformation" table="emp_info" >
<composite-id name="id" class="info">
<key-property name="XXXid" type="int">
<column name="xxxid" />
</key-property>
<key-property name="AAA" type="string">
<column name="aaa" length="50" />
</key-property>
<key-property name="BBB" type="string">
<column name="bbb" length="50" />
</key-property>
</composite-id>
<many-to-one name="Dept" class="Department" update="false" insert="false" fetch="select">
<column name="AAA" length="50" not-null="true" />
<column name="BBB" length="50" not-null="true" />
</many-to-one>
</class>
</hibernate-mapping>
<hibernate-mapping>
<class name="Department" table="dept_table">
<composite-id name="id" class="deptId">
<key-property name="AAA" type="string">
<column name="aaa" length="50" />
</key-property>
<key-property name="BBB" type="string">
<column name="bbb" length="50" />
</key-property>
</composite-id>
<many-to-one name="Store" class="DepartmentStore" update="false" insert="false" fetch="select">
<column name="AAA" length="50" not-null="true" />
<column name="BBB" length="50" not-null="true" />
</many-to-one>
<property name="ReportId" type="java.lang.Integer">
<column name="report_id" />
</property>
</class>
</hibernate-mapping>
我的问题是每当我试图在getDepartment上调用ReportID时它会给出错误org.hibernate.ObjectNotFoundException:不存在具有给定标识符的行: 好像我没有收到部门信息。
列出a = createCriteria(EmpInformation.class);
整数I = a.getDepartment()。getReportID();
这是我们用来访问Dept信息的stmt:
<many-to-one name="Dept" class="Department" update="false" insert="false" fetch="select">
我想在这里指出更多信息
我看起来像数据问题,但仍然无法找到正在发生的事情。
答案 0 :(得分:0)
是的,这是一个数据问题。每当您尝试通过传递父表列id从子项检索数据时,应该在子表中可用的id的相同数据。否则,您将收到ObjectNotFound异常错误。