728x90
반응형
Axios Error: Requset failed with status code 500
500 에러가 나는 다양한 이유가 있겠지만, 나는 '데이터베이스에 한국어'를 넣으려고 해서 그런 것임을 알았다.
해결방법 (1) - 테이블 생성 이후에, 테이블과 컬럼 수정하기
나는 이미 테이블을 만들어서, 테이블과 그 안의 컬럼을 수정하는 방법을 찾아봤다.
-- 테이블의 Collation을 변경
ALTER TABLE my_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 컬럼의 Collation을 변경
ALTER TABLE my_table MODIFY korean_column VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
해결방법 (2) - 테이블 설정 시, 컬럼에 설정해주기
애초에 테이블을 만들 때, 컬럼에 설정을 해 줄 수도 있다.
CREATE TABLE my_table (
id INT PRIMARY KEY,
name VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
);
해결방법 (3) - 스프링부트에서 데이터베이스 생성 시 한국어 고려하기
@Column(nullable = false, columnDefinition = "TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci")
private String text;
@Column 어노테이션 설정 시에 columnDefinition = "TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci" 을 설정해주는 방법도 있다. 나중에는 이렇게 수정해주었다.
더보기
사용 예시 코드
import lombok.*;
import javax.persistence.*;
import java.time.LocalDateTime;
import java.util.List;
@Entity
@Table(name="letter")
public class LetterEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="letter_id")
private Long Id;
@Column(nullable = false, columnDefinition = "TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci")
private String title;
@Column(nullable = false)
private LocalDateTime date;
@Column(nullable = false, columnDefinition = "TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci")
private String text;
@Column
private String weather;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "liId", referencedColumnName = "liId")
private LetterImageEntity letterImage;
@OneToMany(mappedBy = "letterId")
private List<MessageEntity> messageEntityList;
public void updateImg(LetterImageEntity letterImg){
this.lLetterImg = letterImg;
}
}
728x90
반응형
'데이터베이스' 카테고리의 다른 글
[Redis] Docker에 Redis 설치하기 (0) | 2024.09.02 |
---|---|
[데이터베이스설계와질의] 트랜잭션(transaction)이란? (0) | 2023.11.06 |
[데이터베이스설계와질의] DBMS (0) | 2023.10.28 |
[데이터베이스] 외래키(FK) 식별관계와 비식별관계 (0) | 2023.10.17 |
[MariaDB] 데이터베이스 생성, 계정생성, 권한 부여 (0) | 2023.07.06 |