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.oneToMany和eclipselink.batch.type = IN.
在Parent对象中,有 an@ElementCollection和 a @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)
任何想法 - 我做错了什么还是这是一个错误?