これは非常に難しい問題です。私は休止状態 3.6.8 を使用し、hbm xml マッピングを使用しています。Null 値を持つ配列になる 1 対多の関係のケースがあります。インデックスの作成などに関するドキュメントを読みましたが、データベースを調べて、これを引き起こしているオブジェクトを調べると、すべて問題ないようです。私の 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 つの null 値を持つ配列を取得し、データベースで (この親の) 6 つのレコードを見つけます。それらのすべてに連続した idx 値 (0,1,2,3,4,5) があります。
私はここで少し迷っています。何か助けはありますか?
(より詳しい情報)
ビジネス オブジェクト モデルは巨大で、ビジネス オブジェクト モデル ツリーの中間に位置する関係でこの問題が発生しています。それは次のようなものです:
...
public class Parent {
private Child[] allChild;
}
...
DBからオブジェクトを取得するために分離基準を使用しています。この基準は、ここで問題を引き起こしているオブジェクト以外の BOM ツリー内の他のオブジェクトを対象としています。また、CriteriaSpecification.DISTINCT_ROOT_ENTITY を使用して個別のオブジェクトを取得しています。
もう 1 つの興味深い事実は、毎回発生するわけではないということです。場合によっては、null なしで、完全に入力された配列が返されます。何が違うのか未だにわかりません。これは自動テストで発生し始めたため、実行は常に同じです..