본문 바로가기
스프링/JPA

[JPA] 오류 해결: “Data too long for column”

by 책 읽는 개발자_테드 2021. 5. 29.
반응형

Spring Data JPA를 통해 아래와 같은 엔티티로 MySQL 데이터베이스에 테이블을 생성한다고 가정하자. 

@Entity
public class SurveyAnswer {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    Long id;
    
    Long userId;
    LoveType loveType;
    String answers;
}

코드의 answers 변수처럼 String 타입을 설정하면, 기본적으로 255바이트의 varchar 타입 컬럼이 된다. 

 

하지만 기본으로 설정된 255바이트의 길이가 넘는 문자열을 입력하면 다음과 같은 오류가 발생한다.

“Data too long for column” 

 

오류를 해결하려면, 컬럼의 길이를 늘려주면된다. 생성된 컬럼(answers)을 삭제하고, 엔티티의 String 타입 변수 위에 컬럼의 길이를 설정하는 애노테이션을 붙인다.

@Column(length = 원하는숫자) 

@Entity
public class SurveyAnswer {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    Long id;
    
    Long userId;
    LoveType loveType;
    @Column(length=1000)
    String answers;
}

 

그리고 JPA를 재시동하면, 다음과 같이 컬럼의 길이가 늘어나며 문제가 해결된다.

반응형

'스프링 > JPA' 카테고리의 다른 글

[JSP] 필터(Filter)란?  (0) 2021.10.05
[JPA] Spirng Data JPA에서 QueryDSL 사용하기  (0) 2021.07.20
[JPA] 오류해결: Field 'id' doesn't have a default value  (0) 2021.05.27
[JPA] JPA란?  (0) 2021.04.20

댓글