0

这是一个非常棘手的问题。我正在使用休眠 3.6.8 并使用 hbm xml 映射。我有一个一对多关系的情况,它最终出现在一个具有空值的数组中。我阅读了有关具有索引等的文档,但是当我查看导致此问题的对象的数据库时,一切似乎都很好。我的 hbm 映射看起来像这样。

<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>

我得到一个包含 4 个空值的数组,在数据库上我找到 6 条记录(对于这个父级),它们都具有顺序 idx 值(0、1、2、3、4、5)

我在这里有点迷路了。有什么帮助吗?

(更多信息)

业务对象模型很大,我在位于业务对象模型树中间的关系中遇到了这个问题。它是这样的:

...
public class Parent {
    private Child[] allChild;
}
...

我正在使用分离的标准从数据库中获取对象。该标准针对 BOM 树中的其他对象,而不是在此处引起问题的对象。我还使用 CriteriaSpecification.DISTINCT_ROOT_ENTITY 来获取不同的对象。

另一个有趣的事实是,它不会每次都发生。有时它返回完全填充的数组,没有空值。还是没弄清楚有什么不同。由于这开始在自动化测试中发生,因此执行总是相同的..

4

0 回答 0