Hibernate-reactive: рд╕рдВрд╡рд░реНрджреНрдзрди - рд╡рд╕рдВрдд @ рдЯреНрд░рд╛рдиреНрд╕рдПрдХреНрд╢рдирд▓ рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг

рдХреЛ рдирд┐рд░реНрдорд┐рдд 20 рдордИ 2021  ┬╖  16рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: hibernate/hibernate-reactive

рдирдорд╕реНрддреЗ,

рд╣рдо postgres-db+spring boot+spring data+r2dbc рд╕реЗ рдмрдиреЗ рд╣рдорд╛рд░реЗ рд╡рд░реНрддрдорд╛рди рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рд░рд┐рдПрдХреНрдЯрд┐рд╡ рдХреЗ рдЪрд▓ рд░рд╣реЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдкрд░ рд╣реИрдВред рд╣рдордиреЗ r2dbc рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╣реБрдд рд╕реА рд╕реАрдорд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рдФрд░ рд╣рдо рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдмрдбрд╝реЗ рдЬреНрдЮрд╛рди рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред
рд╣рдордиреЗ рд▓рдЧрднрдЧ рдПрдХ рдкреВрд░реНрдг рдорд╛рдЗрдХреНрд░реЛ-рд╕рд░реНрд╡рд┐рд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛, рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕реНрдкреНрд░рд┐рдВрдЧ-рдбреЗрдЯрд╛ (рдЬреЗрдиреЗрд░рд┐рдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА) рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИред

рдкреНрд░рдореБрдЦ рдореБрджреНрджреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рдХреЗ рдмрдЬрд╛рдп рдШреЛрд╖рдгрд╛рддреНрдордХ рд▓реЗрдирджреЗрди рдкреНрд░рдмрдВрдзрди (рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рдЙрдард╛ рд░рд╣реЗ рд╣реИрдВред

рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рддрдВрддреНрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдврд╛рдВрдЪреЗ (рд╕реНрдкреНрд░рд┐рдВрдЧ, рдХреНрд╡рд╛рд░реНрдХрд╕ ...) рдХреЗ рд▓рд┐рдП рдЬреЛ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдорд╛рдирдХ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЕрдЧрд░ рд╣рдо рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдореЗрдВ рд▓реЗрдирджреЗрди рдПрдкреАрдЖрдИ рдорд╛рдирдХ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдПрдкреАрдЖрдИ рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИ рдФрд░ рд▓реЗрдирджреЗрди рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдПрдкреАрдЖрдИ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреЗрдВ (рдФрд░ рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рдпрджрд┐ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рд╕реНрдорд╛рдЗрд▓реА :), рдФрд░ рдпрджрд┐ рдЖрдкрдХреЛ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд╕реБрд░рд╛рдЧ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдзрдиреНрдпрд╡рд╛рдж

рд╕рднреА 16 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╡реИрд╕реЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдкреНрд░рд┐рдВрдЧ рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рдПрдХ рдмреАрди рд╡рд┐рдзрд┐ рдХреЙрд▓ рдореЗрдВ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдХреЛ рдмрд╛рдВрдзрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЙрд╕ рддрд░рд╣ рдХреЗ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдХреЗ рднреАрддрд░ рд╕реЗ withTransaction() рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдмреАрди рд╡рд┐рдзрд┐ рдХреЛ рд╕реМрдВрдкрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рднреА рдШреЛрд╖рдгрд╛рддреНрдордХ рд▓реЗрдирджреЗрди рдкреНрд░рдмрдВрдзрди рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдХреЛрдб рдХреА рдХреЗрд╡рд▓ рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред (рдХрдо рд╕реЗ рдХрдо рдпрд╣ рд╕реАрдбреАрдЖрдИ рдореЗрдВ рд╣реЛрдЧрд╛, рдореБрдЭреЗ рд╡рд╕рдВрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдо рдпрдХреАрди рд╣реИред)

рдПрдХрдорд╛рддреНрд░ рд╕реВрдХреНрд╖реНрдорддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рд▓реЗрди-рджреЗрди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд░реНрддрдорд╛рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдзрд╛рд░рд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рд╣рдорд╛рд░реЗ рд╕реНрдЯреИрдХ рдореЗрдВ рдЬреЛ MP Contexts рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдкрддрд╛ рдирд╣реАрдВ рдХреИрд╕реЗ рд╡рд╕рдВрдд рднреВрдорд┐ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

(рдУрдЯреАрдУрдПрдЪ рдпрджрд┐ рдЖрдк рдПрдХреНрд╕рдП рд▓реЗрдирджреЗрди рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ, рдареАрдХ рд╣реИ, рдпрд╣ рдХреАрдбрд╝реЗ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рд╣реИ, рдФрд░ рдЕрднреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдЪрд╛рд▓рдХ рдХреЗ рд╕рд╛рде рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдирд╣реАрдВ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рд▓реЗрдирджреЗрди рдирд╣реАрдВ рд╣реИ рдкреНрд░рдмрдВрдзрдХред)

рдЕрднреА, рд╣рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рд▓реЗрдирджреЗрди рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ

рдлрд┐рд░ рдПрдХ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдЬреЛ SessionFactory.withTransaction() рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рдЙрд╕реЗ рдареАрдХ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВрдЧреЗред рдзрдиреНрдпрд╡рд╛рдж

@gavinking рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдкреНрд░рд┐рдВрдЧ рдкрд╣рд▓реВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ @Transactional рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЖрд╕рд╛рди рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдХреЗрд╡рд▓ рддрднреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдЖрдк рд╕реНрдЯреЗрдЬ рдХреНрд▓рд╛рд╕ рдореЗрдВ рдУрдкрдирдЯреНрд░рд╛рдВрд╕реЗрдХреНрд╢рди () рдХрдорд┐рдЯрдЯреНрд░рд╛рдВрд╕реЗрдХреНрд╢рди () рдФрд░ рд░реЛрд▓рдмреИрдХрдЯреНрд░рд╛рдВрд╕реЗрдХреНрд╢рди () рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреАрдЖрдИ рдХрд╛ рдкрд░реНрджрд╛рдлрд╛рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдУрдкрдирд╕реЗрд╢рди () рдФрд░ рдХреНрд▓реЛрдЬрд╕реЗрд╢рди () рдПрдкреАрдЖрдИ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЗрдирджреЗрди рд╡рд╕реНрддреБ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдФрд░ рд▓реЗрдирджреЗрди рдХреЗ рд╕рд╛рде рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред
рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдЕрд░реНрде рдмрдирддрд╛ рд╣реИ ?

"рдЖрд╕рдкрд╛рд╕" рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдХреА рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдзрд╛рд░рдгрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЖрдкрдХреЛ рд╡рд┐рдзрд┐ рдХреЛ рд▓рдкреЗрдЯрдиреЗ рдФрд░ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рджреЗрддреА рд╣реИред

(рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ рдЖрдк рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рд╕реЗ рдкрд╣рд▓реЗ/рдмрд╛рдж рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред)

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╣реИ: https://howtodoinjava.com/spring-aop/aspectj-round-annotation-example/

@gavinking рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ "рд╣рдорд╛рд░реЗ рд╕реНрдЯреИрдХ рдореЗрдВ рдЬреЛ рдПрдордкреА рд╕рдВрджрд░реНрднреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред" рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреЛрдИ рд▓реЗрдирджреЗрди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд░реНрддрдорд╛рди рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдмрд╛рдзреНрдп рд╣реИ рдпрд╛ рдирд╣реАрдВ? рдХреНрдпрд╛ рдЖрдк рдХреЛрдб, рдпрд╛ рд▓рд┐рдЦрд┐рдд рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рддреНрд░ рдХреЗ рд▓рд┐рдП рднреА, рдореИрдВ рдХреИрд╕реЗ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╡рд░реНрддрдорд╛рди рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдПрдХ рд╕рддреНрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЦреБрд▓рд╛ рд╣реИред
рдзрдиреНрдпрд╡рд╛рджред

рджреЗрдЦрд┐рдП, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЖрдк рд╡рд╕рдВрдд рдореЗрдВ рдРрд╕рд╛ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдереНрд░реЗрдбрд▓реЛрдХрд▓ рдХреА рддрд░рд╣ рд╣реИ, рд▓реЗрдХрд┐рди рдереНрд░реЗрдб рдХреА рдмрдЬрд╛рдп рд╡рд░реНрддрдорд╛рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдзрд╛рд░рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рдиреАрдп рдмрд╛рдзреНрдп рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдХреБрдЫ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╡рд╕рдВрдд @ рдЯреНрд░рд╛рдВрд╕реЗрдХреНрд╢рдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╡рд╕рдВрдд рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд▓реЗрдирджреЗрди рд╕рдВрдмрдВрдзреА рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реВрдВред рддреЛ рдореЗрд░рд╛ рдкрд┐рдЫрд▓рд╛ рдкреНрд░рд╢реНрди рдЖрдкрдХреЗ рд╡рд╛рдХреНрдп рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдерд╛ "рд╣рдорд╛рд░реЗ рдвреЗрд░ рдореЗрдВ рдЬреЛ рдПрдордкреА рд╕рдВрджрд░реНрднреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛"ред

"рд╣рдорд╛рд░рд╛ рдвреЗрд░" == рдХреНрд╡рд╛рд░реНрдХрд╕ред

рдореИрдВ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдХреЛ рд╡рд╕рдВрдд рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдЦреЛрдЬрдирд╛ рд╣реИред

рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдЖрдк рд╡рд░реНрддрдорд╛рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдзрд╛рд░рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдореВрд▓реНрдп рдХреЛ рдмрд╛рдзреНрдп рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдШреЛрд╖рдгрд╛рддреНрдордХ рд▓реЗрдирджреЗрди рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ "рдореИрдиреНрдпреБрдЕрд▓" рд▓реЗрдирджреЗрди рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред (рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрд╡рд▓ withTransaction() рдкрд░ рдХреЙрд▓ рдХрд░рдХреЗ рд╕реБрдкрд░-рд╕рд░рд▓ рд╣реИред рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд▓реЛрдЧ рдХреНрдпреЛрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдиреЛрдЯреЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред)

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдк рд╕рд┐рд░реНрдл рдЧрд▓рдд рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВред

рдпрд╣ рдмрд╛рдд рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ https://projectreactor.io/docs/core/3.4.0-M1/api/index.html?reactor/util/context/Context.html

рд╢рд╛рдпрдж рдпрд╣? https://www.baeldung.com/spring-transaction-active

рд╕рдорд╛рдкрди: #782 рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рддред

@ yaakov-berkovich рдореИрдВ # 779 рдХреЗ рд╕рд╛рде рдЬреЛ рд╕рд╛рдорд╛рди рдбрд╛рд▓ рд░рд╣рд╛ рд╣реВрдВ, рдЙрд╕рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрдкрдХреЗ рд▓рд┐рдП рдФрд░ рднреА рдЖрд╕рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@gavinking рдзрдиреНрдпрд╡рд╛рдж !!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

akoufa picture akoufa  ┬╖  30рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

pqab picture pqab  ┬╖  21рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

DavideD picture DavideD  ┬╖  17рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Xset-s picture Xset-s  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

aguibert picture aguibert  ┬╖  28рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ