持久化分数时数组越界异常

Array out of bounds exception when persisting score

使用 Optaplanner v7.17.0.Final,在保存分数时,出现以下异常:

Caused by: java.lang.ArrayIndexOutOfBoundsException: 2
    at org.optaplanner.persistence.jpa.impl.score.AbstractScoreHibernateType.getPropertyValue(AbstractScoreHibernateType.java:108)

我的 PlanningSolution class 包含以下 JPA 描述:

        @PlanningScore
        @Columns(columns = { @Column(name = "initScore"), 
                             @Column(name = "hardScore"), 
                             @Column(name = "softScore") })
        private HardSoftScore score;

这是文档的建议。此外,此 class 上使用了以下注释:

@TypeDef(defaultForType = HardSoftScore.class, 
         typeClass = HardSoftScoreHibernateType.class) // Hibernate annotation

调试 Optaplanner 代码,在提供的行中,levelNumbers 局部变量仅包含 2 个级别编号(硬和软),而调用是对索引 2.

当然,删除 initScore 列会导致映射异常,因为 HardSoftScoreHibernateType 声明 3.

我是不是漏掉了什么?

OptaPlanner升级到最新版本(v7.25.0.Final)解决了问题