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

🧩 Nullable поля Π² Entity: ΡƒΠ³Ρ€ΠΎΠ·Π° Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ

🧩 Nullable поля Π² Entity: ΡƒΠ³Ρ€ΠΎΠ·Π° Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π΄Ρ€ΡƒΠ·ΡŒΡ! БСгодня Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΎΠΉ ошибкой, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… β€” использованиС nullable = true Π² JPA-сущностях ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π±Π΅Π· осознанного Π²Ρ‹Π±ΠΎΡ€Π°. Когда ΠΌΡ‹ пишСм: @Column(name = "middle_name") private String middleName; JPA считаСт, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ nullable, Π΄Π°ΠΆΠ΅ Ссли ΠΏΠΎ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΎΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ пустым Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ. А Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ссли Π²Ρ‹ Π·Π°Π±Ρ‹Π»ΠΈ это ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ: 1. На ΡƒΡ€ΠΎΠ²Π½Π΅ Π‘Π” ΠΏΠΎΠ»Π΅ Π±ΡƒΠ΄Π΅Ρ‚ NULLABLE. 2. Hibernate Π½Π΅ подскаТСт, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π°Π±Ρ‹Π»ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅. 3. Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ это ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ NPE, особСнно ΠΏΡ€ΠΈ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π΅ DTO β†’ Entity. 4. ΠŸΡ€ΠΈ миграциях Flyway/ Liquibase β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ нСсоотвСтствиС схСмы ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ. πŸ” Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ? 1. Π―Π²Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ nullable = false, Ссли ΠΏΠΎΠ»Π΅ обязано Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: @Column(name = "email", nullable = false) private String email; 2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Bean Validation (@NotNull) β€” ΠΈ Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Ρ‘ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ…, сСрвисах, Hibernate. 3. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ соотвСтствиС схСмы ΠΈ сущностСй. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½ Hibernate5DDL ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ схСмы ΠΏΡ€ΠΈ стартС. πŸ“Œ ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ совСт: ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ всё @Column(nullable = false), ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠΊΠ°ΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅. Π‘Π΅Ρ€Π΅Π³ΠΈΡ‚Π΅ свои сущности πŸ˜‰ πŸ‘‰ @BookJava

625 просмотров

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

1Β 609 подписчиков Β· Наука

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

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

Π•Ρ‰Ρ‘ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ «Наука»

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

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