'camelCase ํ๊ธฐ๋ฒ'
JPA ์ MySQL ์ ์ฐ๋ํ์ฌ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ์นด๋ฉํ๊ธฐ๋ฒ์ผ๋ก ์ปฌ๋ผ ์ด๋ฆ์ ์ง์ ํ ์์ ์ปฌ๋ผ๋ช ์ด
helloData -> hello_data ์ ๊ฐ์ ํํ๋ก ์๋ ๋ณ๊ฒฝ๋์ด ๋ฒ๋ฆฌ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
(์นด๋ฉ ํ๊ธฐ๋ฒ์ด๋ ๊ฐ ๋จ์ด์ ์ฒซ๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก ํ๊ธฐํ๊ณ ๋ถ์ฌ์ฐ๋, ๋งจ์ฒ์ ๋ฌธ์๋ ์๋ฌธ์๋ก ํ๊ธฐํ๋ ํ๊ธฐ๋ฒ์ด๋ค.)
๋๋ ์ด ๋ฌธ์ ๋๋ฌธ์ DB์ ๋งตํ์ด ๋์ง ์์์ ์ ๋ฅผ ๋จน์๋ค.. ๋ด๊ฐ ์ค์ ํ ์ปฌ๋ผ๋ช ์ prkplceNo ์ธ๋ฐ prkplce_no ์ผ๋ก
์๋ ๋ณ๊ฒฝ๋์ด ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
์๋ฌ๊ฐ ๋ฐ์ํ๋ ๊ณผ์ ์ ๋จผ์ ๋ณด์ฌ์ฃผ๊ฒ ๋ค.
'DTO ์ prkplceNo ๋ก ์ปฌ๋ผ ์ค์ '
DTO ์ ๋ด๊ฐ ์ง์ ํ ์ด๋ฆ์ผ๋ก ์ปฌ๋ผ๋ช ์ ์์ฑํ๋ค.
MySQL ํ ์ด๋ธ์๋ prkplceNo ๋ก ์ปฌ๋ผ ์์ฑ
ํ ์ด๋ธ์๋ @Column ์ด๋ ธํ ์ด์ ์ name ์ด๋ ๊ฐ๊ฒ ์ปฌ๋ผ๋ช ์ ์ ๋ ฅํ๋ค.
๊ฒ๋ณด๊ธฐ์ ์๋ฌด ๋ฌธ์ ๊ฐ ์์ ๊ฒ ๊ฐ๋ค. ํ์ง๋ง ๋ฌธ์ ๋ ์ด ํ๋ก๊ทธ์ด ์คํ๋ ๋ ๋ฐ์ํ๋ค.
'prkplceNo -> prkplce_no ๋ก ์๋ ๋ณํ๋ ๋ชจ์ต'
์์์ ์ค๋ช ํ๋ ๋๋ก ๋๋ฌธ์๋ฅผ _์๋ฌธ์ ํํ๋ก ๋ฐ๊ฟ๋ฒ๋ฆฐ๋ค.
์ปฌ๋ผ๋ช ์ด ์ธ๋์ค์ฝ์ด๋ก ๋ณ๊ฒฝ๋์ด ๋ฐ์ํ ์ค๋ฅ
์ด๋ ๊ฒ ๋๋ฉด ์์ ๊ฐ์ด DB์ ํ ์ด๋ธ๊ณผ ์ปฌ๋ผ์ด ๋งคํ์ด ๋์ง ์๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
์ด๋๋ application.properties ์ Naming Strategy๋ฅผ ์๋์ ๊ฐ์ด ์์ฑํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค.
# ์ธ๋๋ฐ ์๋๋ณ๊ฒฝ ๋ฐฉ์ง
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
application.yml ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ ์๋์ ๊ฐ์ด ์ ๋ ฅํ๋ฉด ๋๋ค.
spring:
jpa:
hibernate:
naming:
implicit-strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
์ด ๊ธ์ด ๊ฐ์ ๋ฌธ์ ๋ฅผ ๊ฒช๋ ์ฌ๋์๊ฒ ๋์์ด ๋์์ผ๋ฉด ์ข๊ฒ ๋ค.
(๋ณธ์ธ์ ๊ตฌ๊ธ๋ง์ ์์ง ์ ๋ชปํด์ 3์ผ๋ง์ ํด๊ฒฐํ์ต๋๋ค..)
'Backend๐ฑ > Spring JPA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฉด์ ์ง๋ฌธ๐ฑ] ๋๋์ฒด @JoinColumn์ด ๋ญ๊น..? (0) | 2023.05.05 |
---|---|
๐๏ธ Spring/JPA[JPA] ํ๋์ ์ปฌ๋ผ ๋งคํ - @ElementCollection (๊ฐ ํ์ ์ปฌ๋ ์ ๋งคํ), @CollectionTable (0) | 2023.05.01 |
[JPA ๊ธฐ์ด] ์ฐ๊ด๊ด๊ณ ๋งคํ ๊ธฐ์ด - ๊ผญ ์ฝ์ด๋ณด๊ธฐ!! (0) | 2023.04.24 |
[JPA๊ธฐ๋ณธ] ์ด๊ฒ๋ง๋ณด์!! (0) | 2023.04.23 |
[Optional] orElse์ orElseGet์ ์ฐจ์ด (0) | 2023.04.23 |