Hibernate-reactive: Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… элСмСнтов ΠΈΠ· упорядочСнной встраиваСмой ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 22 Ρ„Π΅Π²Ρ€. 2021  Β·  7ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: hibernate/hibernate-reactive

Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… тСстов для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ послСднСй Π»ΠΎΠ³ΠΈΠΊΠΈ сохранСния Reactive collection ΠΈΠ· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ @OrderColumn # 581 . Π’ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ 1 элСмСнта Π²ΠΎ врСмя flush ().

Π‘ΠΌ .: OrderedEmbeddableCollectionTest

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅: [Exception 0] io.vertx.core.impl.NoStackTraceThrowable: количСство ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² для выполнСния Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΌΡƒ количСству ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² = [2], Π½ΠΎ фактичСскоС количСство - [3].
[Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ 1] io.vertx.core.VertxException: транзакция ΡƒΠΆΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°

ΠŸΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ массив Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Object [] Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Object [3] вмСсто Object [2] для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта Π² Π½ΠΎΠ²ΠΎΠΌ абстрактном пСрсистСрС: https://github.com/hibernate/hibernate-reactive/blob/ fe9dfbaa07e4b71fe85e949a45ac23c91c26709b / hibernate-reactive-core / src / main / java / org / hibernate / reactive / persister / collection / impl / ReactiveAbstractCollectionPersister.java # L237

ВсС 7 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, стоит Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ тСст Π½Π° ядрС Hibernate ORM, просто Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ происходит.

Π’ ORM deleteRows int offset = 1; Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ мСняСтся.

Π’ Reactive ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ смСщСниС Π² Π²Ρ‹Π·ΠΎΠ² deleteRowsParamValues( entry, index+1, id, session ) , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ основан Π½Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π½ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ index . ΠŸΠΎΡ…ΠΎΠΆΠ΅, ΠΌΡ‹ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎ объСдиняСм ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ i , index , loc ΠΈ offset Π² ORM.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ i Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡƒ, прСдоставляСт ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ обновлСния ΠΈ вставки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, какая запись ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, поэтому Π΅Π΅ Π½Π΅ слСдуСт ΡΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ / ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² процСссС удалСния.

Ага, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π»ΠΎΠ³ΠΈΠΊΠ° просто Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ пСрСнСсСна.

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ простоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ index+1" Π½Π° 1 ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π»ΠΎΠ³ΠΈΠΊΡƒ ORM

Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ!

Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΡƒΠ»ΠΎΠ²!

@blafond : я Π½Π°Π·Π½Π°Ρ‡ΠΈΠ» это Π²Π°ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ каТСтся, Ρƒ вас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ исправлСниС

Бпасибо, @blafond

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ