【发布时间】:2013-02-04 22:53:16
【问题描述】:
EclipseLink 2.3.0 - 2.3.2 上存在相同问题,但堆栈跟踪来自 2.3.0
遇到批量提取和提取连接不能很好地相互配合的问题。我有一个类似的查询
select obj from Parent
left join fetch obj.elementCollection
带有提示eclipselink.batch = obj.oneToMany 和eclipselink.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)
任何想法 - 我做错了什么还是这是一个错误?
【问题讨论】:
-
快速查看eclipselink源代码后:似乎是eclipselink中的一个bug。
标签: jpa eclipselink