본문 바로가기
메뉴

Hibernate2

[Spring Boot/JPA] globally_quoted_identifiers와 네이밍 전략 이슈

MySQL 예약어 충돌을 회피하기 위해 테이블명이나 컬럼명을 항상 따옴표로 감싸주게끔 globally_quoted_identifiers 옵션을 true로 설정하고 있다. 그리고 동시에 camelCase인 이름들을 snake_case로 바꾸기 위해 PhysicalNamingStrategySnakeCaseImpl 네이밍 전략을 사용하고 있다. application.yaml 설정:spring: jpa: properties: hibernate: globally_quoted_identifiers: true hibernate: naming: physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingSt..

[Spring Boot/JPA] Hibernate Naming Strategy

엔티티, 필드 등의 도메인 모델 이름을 데이터베이스의 테이블, 컬럼 등의 물리적 스키마 이름으로 변환하는 규칙을 정의하는 전략용어논리적 이름(logical name): ORM 매핑 레벨에서 사용하는 추상화된 이름물리적 이름(physical name): 실제 데이터베이스에서 사용되는 최종 이름Implicit Naming Strategy: @Table, @Column 을 안 썼을 때 생성되는 논리적 이름을 어떤 규칙으로 만들지 결정하는 전략Physical Naming Strategy: 논리적 이름을 바탕으로, 실제 DB 스키마에서 쓸 물리적 이름을 결정하는 전략변환 과정명시적 이름이 있는 경우논리적 이름 → PhysicalNamingStrategy → 물리적 이름 → DB명시적 이름이 없는 경우Implici..

보호된 글

비밀번호를 입력하세요