0

EclipseLink 2.3.0 - 2.3.2 上的相同问题,但来自 2.3.0 的堆栈跟踪

遇到批处理 fetch 和 fetch join 不能很好地相互配合的问题。我有一个像这样的查询

select obj from Parent
   left join fetch obj.elementCollection

带有提示eclipselink.batch = obj.oneToManyeclipselink.batch.type = IN.

Parent对象中,有 an@ElementCollection和 a @OneToMany,其中@OneToMany是批量获取的,而@ElementCollection是连接的(批量获取似乎没有效果)。

它因以下错误而中断;将批处理类型从更改INEXISTS使其工作。

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