Hibernate-reactive: Excepción al eliminar varios elementos de la colección integrable ordenada

Creado en 22 feb. 2021  ·  7Comentarios  ·  Fuente: hibernate/hibernate-reactive

ejecutar pruebas adicionales para verificar la última lógica de persistencia de la colección reactiva de los cambios de @OrderColumn # 581 . Se encontró con un problema al eliminar más de 1 elemento durante un flush ().

Ver: OrderedEmbeddableCollectionTest

Excepción: [Excepción 0] io.vertx.core.impl.NoStackTraceThrowable: El número de parámetros a ejecutar debe ser consistente con el número esperado de parámetros = [2] pero el número real es [3].
[Excepción 1] io.vertx.core.VertxException: transacción ya completada

Parece que la matriz Object [] de valores param devuelve un Object [3] en lugar de Object [2] para el segundo elemento eliminado en el nuevo resumen persister: https://github.com/hibernate/hibernate-reactive/blob/ fe9dfbaa07e4b71fe85e949a45ac23c91c26709b / hibernate-reactive-core / src / main / java / org / hibernate / reactive / persister / collection / impl / ReactiveAbstractCollectionPersister.java # L237

bug

Todos 7 comentarios

Podría valer la pena hacer que la prueba funcione en el núcleo de Hibernate ORM, solo para poder pasar y ver qué sucede allí.

En el deleteRows ORM, el int offset = 1; nunca cambia.

En Reactive, estamos pasando la compensación a la llamada deleteRowsParamValues( entry, index+1, id, session ) , que se basa en un index incrementado de i , index , loc y offset en ORM.

El i parece proporcionar métodos de actualización e inserción para saber en qué entrada de colección se está operando, por lo que no debe vincularse ni usarse en el proceso de eliminación.

Sí, parece que la lógica simplemente se transfirió incorrectamente.

Creo que solo cambiar index+1" a 1 refleja la lógica ORM

¡Excelente!

¡Buena atrapada!

@blafond : te he asignado esto porque parece que ya tienes una solución

Gracias, @blafond

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

hantsy picture hantsy  ·  7Comentarios

tsegismont picture tsegismont  ·  20Comentarios

markusdlugi picture markusdlugi  ·  30Comentarios

gavinking picture gavinking  ·  16Comentarios

Xset-s picture Xset-s  ·  3Comentarios