728x90
반응형
이 포스트는 김영한님의 스프링부트와 JPA 활용1 강의 내용 기반으로 요약하였다.
테이블, 컬럼명 생성 전략
- 스프링 부트에서 하이버네이트 기본 매핑 전략을 변경해서 실제 테이블 필드명은 다름
- 하이버네이트 기존 구현: 엔티티의 필드명을 그대로 테이블의 컬럼명으로 사용 ( SpringPhysicalNamingStrategy )
- 스프링 부트 신규 설정 (엔티티(필드) 테이블(컬럼))
자동으로 변환됨.
- 카멜 케이스 → 언더스코어(memberPoint → member_point)
- .(점) → _(언더스코어)
- 대문자 → 소문자
적용 2 단계
논리명 생성
- 명시적으로 컬럼, 테이블명을 직접 적지 않으면 ImplicitNamingStrategy 사용
- spring.jpa.hibernate.naming.implicit-strategy : 테이블이나, 컬럼명을 명시하지 않을 때 논리명
적용 물리명 적용
- spring.jpa.hibernate.naming.physical-strategy : 모든 논리명에 적용됨, 실제 테이블에 적용 (username usernm 등으로 회사 룰로 바꿀 수 있음)
728x90
반응형
'Tech > Spring' 카테고리의 다른 글
[Spring JPA] 준영속 상태, 더티 체킹, 변경감지, 병합 (0) | 2023.04.17 |
---|---|
[Spring] 스프링 주요 어노테이션, Update(수정) 시 save() 메서드를 호출하는 것이 좋을까? (2) | 2023.04.10 |
[Spring Data JPA] 스프링 Entity 설계 시 주의사항 (0) | 2023.03.21 |
[Spring] jasypt로 암호화하기, docker, ec2 및 CI/CD 연동하기 (0) | 2023.01.19 |
[Spring] java: cannot find symbol class Badge 에러 해결 방법, QueryDSL 해결 방법 (0) | 2023.01.07 |