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)
任何想法 - 我做错了什么还是这是一个错误?