반응형
mysql5.7 버전을 사용하다가 myslq8로 마이그레이션 진행시
기존에 사용하던 컬럼이 myslq8 예약어와 동일한 이름으로 되어 있어 변경이 필요하다.
1. 예약어가 정의된 컬럼에 쌍따옴표 또는 아포스트로피를 추가한다.
@Column(name = "`rank`")
private int rank;
하지만 개발중에 mysql에 정의된 예약어와 겹치는 부분에 대해서 항상 체킹해야 하므로 불편하다.
persistence.xml에 property를 추가한다.
<persistence-unit name="commonType" transaction-type="RESOURCE_LOCAL">
<provider></provider>
...
...
<properties>
...
<property name="hibernate.globally_quoted_identifiers" value="true"/>
<property name="hibernate.globally_quoted_identifiers_skip_column_definitions" value="true"/>
...
</properties>
</persistence-unit>
* Should all database identifiers be quoted. A true/false option.
- hibernate.globally_quoted_identifiers
* JPA states that column-definitions are subject to global quoting, so by default this setting is false for JPA compliance. Set to true to avoid column-definitions being quoted due to global quoting (they will still be quoted if explicitly quoted in the annotation/xml).
- hibernate.globally_quoted_identifiers_skip_column_definitions
-- property 설정 전
create table tag (
id bigint not null auto_increment,
rank integer,
tag_count integer not null,
delete_user_type enum('A','B','C'),
primary key (id)
) engine=InnoDB;
-- hibernate.globally_quoted_identifiers // true
-- hibernate.globally_quoted_identifiers_skip_column_definitions // false
create table `tag` (
`id` bigint not null auto_increment,
`rank` integer,
`tag_count` integer not null,
`delete_user_type` `enum('A','B','C')`,
primary key (`id`)
) engine=InnoDB;
-- hibernate.globally_quoted_identifiers // true
-- hibernate.globally_quoted_identifiers_skip_column_definitions // true
create table `tag` (
`id` bigint not null auto_increment,
`rank` integer,
`tag_count` integer not null,
`delete_user_type` enum('A','B','C'),
primary key (`id`)
) engine=InnoDB;
반응형
'java' 카테고리의 다른 글
tomcat9 jmx jconsole 연결 옵션 (0) | 2024.05.08 |
---|---|
springboot jar파일 외부에서 properties 적용 (0) | 2024.04.15 |
gradlew 프록시 서버 설정 (0) | 2024.02.01 |
springboot Invalid 'expires' attribute (0) | 2023.10.10 |
비밀키(개인키)를 이용한 디지털 서명 javascript and java (0) | 2023.02.09 |