π« Spring Boot: Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉ FetchType.EAGER Π±Π΅Π· ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ
π« Spring Boot: Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉ FetchType.EAGER Π±Π΅Π· ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΠ°ΠΆΠ΅ΡΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΌ, Π½ΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΡΠΎ Π»ΠΎΠ²ΡΡΠΊΠ°. ΠΠΎΠ³Π΄Π° ΡΡ ΡΡΠ°Π²ΠΈΡΡ EAGER, ORM Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠ²ΡΠ·ΠΈ Π²ΡΠ΅Π³Π΄Π°, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΡΠ΅Π±Π΅ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½Ρ. Π§ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ: β ΠΠ°Π³ΡΡΠΆΠ°Π΅ΡΡΡ Π»ΠΈΡΠ½Π΅Π΅ β Π Π°ΡΡΡΡ Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΠΠ β Π£Ρ ΡΠ΄ΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π ΡΠ°ΠΌΠΎΠ΅ Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎΠ΅ π Π’Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ N+1 problem: - 1 Π·Π°ΠΏΡΠΎΡ Π½Π° Π²ΡΠ΅ Orders - + N Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Customers Π ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ±ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ΄Π΅. π ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄: - ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉ LAZY - Π·Π°Π³ΡΡΠΆΠ°ΠΉ ΡΠ²ΡΠ·ΠΈ ΡΠ²Π½ΠΎ (fetch join / entity graph) - ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠΉ, ΡΡΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° ΡΡΠ½Π΅ΡΡΡ ΠΈΠ· ΠΠ EAGER - ΡΡΠΎ Π½Π΅ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ. ΠΡΠΎ ΡΠΊΡΡΡΡΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΠ°Π½Π°Π» Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΠ°ΠΊΡΠΈΠΌΠ΅ΡΠ΅ΡΠ°
771 ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΎΠ² Β· ΠΠΈΠ·Π½Π΅Ρ