运行其他测试以检查来自@OrderColumn #581更改的最新 Reactive 集合持久性逻辑。 在 flush() 期间遇到删除 1 个以上元素的问题。
请参阅: OrderedEmbeddableCollectionTest
异常:[Exception 0] io.vertx.core.impl.NoStackTraceThrowable:要执行的参数数量应与预期的参数数量 = [2] 一致,但实际数量为 [3]。
[异常 1] io.vertx.core.VertxException:事务已完成
似乎 Object[] 参数值数组正在为新抽象持久器中的第二个删除元素返回 Object[3] 而不是 Object[2]: https :
可能值得在 Hibernate ORM 核心上进行测试,以便能够逐步完成并查看那里发生了什么。
在 ORM 的deleteRows
, int offset = 1;
永远不会改变。
在 Reactive 中,我们将偏移量传递到deleteRowsParamValues( entry, index+1, id, session )
调用中,该调用基于递增的index
值。 似乎我们在 ORM 中错误地结合了i
、 index
、 loc
和offset
的概念。
i
值似乎提供了更新和插入方法以了解正在操作哪个集合条目,因此不应将其绑定到/在删除过程中使用。
是的,看起来逻辑只是错误地移植了。
我认为只是将index+1"
更改1
反映了 ORM 逻辑
伟大的!
接得好!
@blafond :我已将其分配给您,因为您似乎已经解决了
谢谢,@blafond