Java 日食';s@OrderCorrection对订单索引列没有影响

Java 日食';s@OrderCorrection对订单索引列没有影响,java,eclipselink,jpa-2.0,payara,Java,Eclipselink,Jpa 2.0,Payara,我试图使用EclipseLink的@OrderCorrection来确保对现有数据进行正确的顺序索引,但在保存时不会重新索引记录 读取数据数据库 保存根实体(A) 不会对现有实体进行任何更改 即使向列表中添加新元素以“强制”更改,现有的null仍保持null。不过,新元素的索引是正确的 我正在运行Payara4.1.2.181,它使用EclipseLink2.6.4 @实体 公共A类{ @OneToMany(cascade=CascadeType.ALL,mappedBy=“a”,orpha

我试图使用EclipseLink的
@OrderCorrection
来确保对现有数据进行正确的顺序索引,但在保存时不会重新索引记录

  • 读取数据数据库
  • 保存根实体(A)

  • 不会对现有实体进行任何更改
即使向列表中添加新元素以“强制”更改,现有的
null
仍保持
null
。不过,新元素的索引是正确的

我正在运行Payara
4.1.2.181
,它使用EclipseLink
2.6.4

@实体
公共A类{
@OneToMany(cascade=CascadeType.ALL,mappedBy=“a”,orphan=true)
@OrderColumn(name=“ORDERINDEX\u PA”)
@OrderCorrection(OrderCorrectionType.READ\u WRITE)
私人名单;
}
@实体
公共B级{
@许多酮
@JoinColumn(nullable=false)
私人A;
}
样本数据:


“现有实体未发生任何更改”-如果没有任何更改,EclipseLink不会进行任何更新。您需要在上更改一些内容,以便它检查列表以执行任何索引写入。我不确定列表修改前/后列表中的空索引值出现在哪里,也许你可以发布更多关于列表前后的详细信息,来解释为什么EclipseLink可能不会对列表重新编制索引。你是说更改对象a是触发重写对象B顺序索引的唯一方法吗?这就是文档的状态。我自己不使用这个功能,因为我不希望应用程序在运行时随意更改我的数据,或者运行比我的流程要更改的更多的数据。