org.hibernate.ObjectNotFoundException:没有给定标识符的行
问题描述:
强文本 1.EmpInformation文件包含具有Department类的多对一标签。org.hibernate.ObjectNotFoundException:没有给定标识符的行
<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>
有一些更强大的绘图文字 2. Department类多到一个和某些属性。
<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>
<property name="ReportId" type="java.lang.Integer">
<column name="report_id" />
</property>
</class>
强大的文本 我的问题是,每当我试图调用ReportID上getDepartment它给呃ror as org.hibernate.ObjectNotFoundException:不存在具有给定标识符的行: 看来我没有得到部门信息。
List a = createCriteria(EmpInformation.class);
Integer I = a.getDepartment()。getReportID();
强大的文本 这是我们正在使用访问部门信息的语句:
强大的文本 我想指出一些更多的信息在这里 1.懒惰是真实的默认,所以每当我访问子表实体它应该得到的信息,但它不会。 2.如果我删除它是强制更新=“假”插入=“假”,那么它是要求我把它。
我在其他论坛也问过这个问题......但是没有人回答..我想知道这个问题是否很难?
我看起来像数据的问题,但还是没能找到什么在去... :)
答
是的,它是一个数据问题。无论何时您试图通过传递父表列ID来检索数据,相同的数据都应该在子表中可用。否则,你会得到错误为ObjectNotFound异常。
你的答案有点不清楚,请你详细说明一下 – 2013-08-28 12:41:05