ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ содСрТимому
ΠœΠ°ΠΊΡΠΈΠΌΠ΅Ρ‚Π΅Ρ€

🧠 JPA: Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉ ΠΏΡ€ΠΎ flush() ΠΏΠ΅Ρ€Π΅Π΄ clear() β€” ΠΈΠ½Π°Ρ‡Π΅ словишь Π±Π°Π³

🧠 JPA: Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉ ΠΏΡ€ΠΎ flush() ΠΏΠ΅Ρ€Π΅Π΄ clear() β€” ΠΈΠ½Π°Ρ‡Π΅ словишь Π±Π°Π³ Если Ρ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΡˆΡŒ EntityManager Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π±Π°Ρ‚Ρ‡Π΅Π²ΠΎΠΉ вставкС ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ, Ρ‚ΠΎ, скорСС всСго, пишСшь Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅: for (int i = 0; i < entities.size(); i++) { em.persist(entities.get(i)); if (i % 50 == 0) { em.clear(); // Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ росла ΠΏΠ°ΠΌΡΡ‚ΡŒ } } ⚠️ Но Ρ‚ΡƒΡ‚ Π±Π°Π³: Π±Π΅Π· flush() ΠΏΠ΅Ρ€Π΅Π΄ clear() Ρ‚Ρ‹ Ρ‚Π΅Ρ€ΡΠ΅ΡˆΡŒ всС нСпСрсистСнныС измСнСния! Hibernate просто Π·Π°Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎ Π½ΠΈΡ…. βœ… ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊ: for (int i = 0; i < entities.size(); i++) { em.persist(entities.get(i)); if (i % 50 == 0) { em.flush(); em.clear(); } } πŸ“Œ flush() Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ всС Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½Ρ‹Π΅ измСнСния ΠΏΠΎΠΉΠ΄ΡƒΡ‚ Π² Π±Π°Π·Ρƒ, Π° clear() ΡƒΠΆΠ΅ бСзопасно ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ контСкст. πŸ’‘ Π­Ρ‚Π° ошибка особСнно ΠΊΠΎΠ²Π°Ρ€Π½Π°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅ всСгда проявляСтся β€” зависит ΠΎΡ‚ настроСк, Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ² Π² Π‘Π”, кэша ΠΈ Ρ‚.Π΄. πŸ‘‰ @BookJava

559 просмотров

Канал Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠœΠ°ΠΊΡΠΈΠΌΠ΅Ρ‚Π΅Ρ€Π°

1Β 614 подписчиков Β· IT ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠ°Π½Π°Π»Π°

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠ°Π½Π°Π»Π°

Π•Ρ‰Ρ‘ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ Β«IT ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΒ»

Π§ΠΈΡ‚Π°Ρ‚ΡŒ дальшС

Π”Π²Π° Ρ€Π°Π·Π° Π² нСдСлю свСТиС посты этого ΠΊΠ°Π½Π°Π»Π° β€” Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ ΠΈ Π² Π»ΠΈΡ‡Π½ΡƒΡŽ Π»Π΅Π½Ρ‚Ρƒ. Π‘Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ поиска ΠΊΠ°Π½Π°Π»Π° Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.