Java 使用空值休眠关联数组(一对多)
这是一个非常棘手的问题。我正在使用hibernate 3.6.8和hbm xml映射。 我有一个一对多关系的例子,结果是一个空值数组。 我阅读了关于索引之类的文档,但是当我查看导致这种情况的对象的数据库时,一切似乎都很好。我的hbm映射看起来像这样Java 使用空值休眠关联数组(一对多),java,arrays,one-to-many,hibernate-mapping,hbmxml,Java,Arrays,One To Many,Hibernate Mapping,Hbmxml,这是一个非常棘手的问题。我正在使用hibernate 3.6.8和hbm xml映射。 我有一个一对多关系的例子,结果是一个空值数组。 我阅读了关于索引之类的文档,但是当我查看导致这种情况的对象的数据库时,一切似乎都很好。我的hbm映射看起来像这样 <array name="child" element-class="childClass" table="childTable" fetch="join"> <key>
<array name="child"
element-class="childClass"
table="childTable" fetch="join">
<key>
<column name="parentColumnId" />
</key>
<list-index column="idx" />
<one-to-many class="childClass" />
</array>
我使用分离的条件从数据库中获取对象。这些条件以BOM表树中的其他对象为目标,而不是此处导致问题的对象。我还使用CriteriaSpecification.DISTINCT\u ROOT\u实体来获取不同的对象
另一个有趣的事实是,它并不是每次都发生。有时它返回完全填充的数组,没有空值。还是不知道有什么不同。由于这种情况开始发生在自动测试上,执行过程总是一样的。请详细说明您是如何获得阵列的,以及您是如何陷入问题的。另外,它与具有6行的数据库表的关系如何。“子”数据库表具有与“父”相关的6行。那里一切看起来都很好。。希望这个新信息能给任何人敲响警钟。请指出我可能忘记提及的任何其他信息。
...
public class Parent {
private Child[] allChild;
}
...