0

EclipseLink 2.3.0-2.3.2でも同じ問題ですが、2.3.0からのスタックトレース

バッチフェッチとフェッチ結合が互いにうまく機能しないという問題が発生しました。私は次のようなクエリがあります

select obj from Parent
   left join fetch obj.elementCollection

ヒントeclipselink.batch = obj.oneToManyeclipselink.batch.type = IN

Parentオブジェクトには、と@ElementCollection@OneToManyあり、@OneToManyはバッチフェッチされて結合されます@ElementCollection(代わりに、バッチフェッチは効果がないように見えました)。

以下のエラーで壊れます。バッチタイプをからINに変更EXISTSすると、機能します。

java.lang.NullPointerException
   at org.eclipse.persistence.mappings.OneToOneMapping.extractBatchKeyFromRow(OneToOneMapping.java:624)
   at org.eclipse.persistence.mappings.ForeignReferenceMapping.extractResultFromBatchQuery(ForeignReferenceMapping.java:524)
   at org.eclipse.persistence.internal.indirection.NoIndirectionPolicy.valueFromBatchQuery(NoIndirectionPolicy.java:294)
   at org.eclipse.persistence.mappings.ForeignReferenceMapping.batchedValueFromRow(ForeignReferenceMapping.java:215)

何かアイデアがあります-私は何か間違ったことをしていますか、それともこれはバグですか?

4

1 に答える 1

1

2.4リリースを試して、それでもエラーが発生する場合はバグをログに記録してください。

要素コレクションもバッチフェッチできるはずです。できない場合は、テストケースでバグをログに記録してください。

于 2013-02-04T14:53:16.577 に答える