Hibernate-reactive: μ •λ ¬λœ 포함 κ°€λŠ₯ν•œ μ»¬λ ‰μ…˜μ—μ„œ μ—¬λŸ¬ μš”μ†Œλ₯Ό μ œκ±°ν•˜λŠ” 데 μ˜ˆμ™Έκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2021λ…„ 02μ›” 22일  Β·  7μ½”λ©˜νŠΈ  Β·  좜처: hibernate/hibernate-reactive

@OrderColumn #581 λ³€κ²½ μ‚¬ν•­μ—μ„œ μ΅œμ‹  Reactive μ»¬λ ‰μ…˜ μ§€μ†μž 논리λ₯Ό ν™•μΈν•˜κΈ° μœ„ν•΄ μΆ”κ°€ ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€. flush() 쀑에 2개 μ΄μƒμ˜ μš”μ†Œλ₯Ό μ œκ±°ν•˜λŠ” 데 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

μ°Έμ‘°: OrderedEmbeddableCollectionTest

μ˜ˆμ™Έ: [μ˜ˆμ™Έ 0] io.vertx.core.impl.NoStackTraceThrowable: μ‹€ν–‰ν•  λ§€κ°œλ³€μˆ˜ μˆ˜λŠ” μ˜ˆμƒ λ§€κ°œλ³€μˆ˜ 수 = [2]와 μΌμΉ˜ν•΄μ•Ό ν•˜μ§€λ§Œ μ‹€μ œ μˆ˜λŠ” [3]μž…λ‹ˆλ‹€.
[μ˜ˆμ™Έ 1] io.vertx.core.VertxException: νŠΈλžœμž­μ…˜μ΄ 이미 μ™„λ£Œλœ 경우

λ§€κ°œλ³€μˆ˜ κ°’μ˜ Object[] 배열이 μƒˆ 좔상 μ§€μ†μžμ—μ„œ 두 번째 μ‚­μ œλœ μš”μ†Œμ— λŒ€ν•΄ Object[2] λŒ€μ‹  Object[3]을 λ°˜ν™˜ν•˜λŠ” κ²ƒμœΌλ‘œ λ‚˜νƒ€λ‚©λ‹ˆλ‹€. 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μ—μ„œλŠ” μ¦κ°€λœ index 값을 기반으둜 ν•˜λŠ” deleteRowsParamValues( entry, index+1, id, session ) ν˜ΈμΆœμ— μ˜€ν”„μ…‹μ„ μ „λ‹¬ν•©λ‹ˆλ‹€. ORMμ—μ„œ i , index , loc 및 offset 의 κ°œλ…μ„ 잘λͺ» κ²°ν•©ν•œ 것 κ°™μŠ΅λ‹ˆλ‹€.

i 값은 μž‘μ—… 쀑인 μ»¬λ ‰μ…˜ ν•­λͺ©μ„ μ•ŒκΈ° μœ„ν•œ μ—…λ°μ΄νŠΈ 및 μ‚½μž… 방법을 μ œκ³΅ν•˜λŠ” κ²ƒμœΌλ‘œ λ‚˜νƒ€λ‚˜λ―€λ‘œ μ‚­μ œ ν”„λ‘œμ„ΈμŠ€μ— μ—°κ²°/μ‚¬μš©λ˜μ–΄μ„œλŠ” μ•ˆ λ©λ‹ˆλ‹€.

예, 논리가 잘λͺ» μ΄μ‹λœ 것 κ°™μŠ΅λ‹ˆλ‹€.

index+1" λ₯Ό 1 ν•˜λŠ” 것은 ORM 논리λ₯Ό λ°˜μ˜ν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

μ—„μ²­λ‚œ!

쒋은 캐치!

@blafond : 이미 μˆ˜μ •ν•œ 것 κ°™μ•„μ„œ ν• λ‹Ήν–ˆμŠ΅λ‹ˆλ‹€.

κ°μ‚¬ν•©λ‹ˆλ‹€, @blafond

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰