[Spring] JPA "Row size too large" 문제 분석하기

2024. 5. 26. 18:15·Back-end/Spring
반응형

 

 

간혹 가다가 Entity String Type의 속성 길이를 디폴트보다 길게 하고 싶을 때 다음과 같이 하는 경우가 있을 것이다.

 

 

Document entity의 content의 길이가 늘어나는 것을 대비해, @Column 어노테이션의 length = 50000으로 하여 길이를 늘리고 실행을 해보면 다음과 같은 에러가 발생한다

engine=InnoDB" via JDBC [Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs]

 

즉, 위 에러는 MySQL에서 varchar 타입의 길이를 너무 크게 설정하면 "Row size too large" 오류를 발생시킨다.

이 오류는 MySQL의 InnoDB 테이블에서 행 크기가 65535바이트를 초과할 때 발생하는데, varchar(10000)은 너무 큰 크기이므로 다음과 같이 해결할 수 있다.

 

해결

 

해당 컬럼의 타입을 TEXT 타입으로 지정해주었다.

TEXT 타입은 varchar와 달리 더 큰 데이터를 저장할 수 있고, InnoDB의 행 크기 제한에 영향을 덜 미친다.

 

JPA 엔티티에서 TEXT Type으로 변경해주면, @Column 어노테이션을 통해 length를 지정하면 안된다!

 


참고

  https://velog.io/@rhqjatn2398/Access-Control-Expose-Headers-CORS-safelisted-response-header

 

Access-Control-Expose-Headers & CORS-safelisted response header

Spring Boot 서버에서 응답 헤더에 추가적인(사용자 정의) 헤더 값을 설정하였다. 그런데 아래 이미지처럼 브라우저의 개발자 도구에서는 추가한 헤더를 확인할 수 있는데, 프론트(Vue.js)에서는 추

velog.io

 

반응형

'Back-end > Spring' 카테고리의 다른 글

[Spring] WebClient를 사용한 외부 API 통신  (1) 2024.06.16
[Spring] Swagger 사용 및 JWT과 https 적용해보기  (2) 2024.06.05
[Spring] data.sql을 사용하여 서버 실행 시 데이터 삽입하기  (1) 2024.05.28
[Spring] CORS-safelisted response header 문제 해결하기  (2) 2024.05.26
[Spring] JPA 동적 네이티브 쿼리, 제대로 알고 사용하자  (0) 2024.05.22
'Back-end/Spring' 카테고리의 다른 글
  • [Spring] Swagger 사용 및 JWT과 https 적용해보기
  • [Spring] data.sql을 사용하여 서버 실행 시 데이터 삽입하기
  • [Spring] CORS-safelisted response header 문제 해결하기
  • [Spring] JPA 동적 네이티브 쿼리, 제대로 알고 사용하자
류건
류건
개발 일지
  • 류건
    건's Dev
    류건
  • 전체
    오늘
    어제
    • 분류 전체보기 (94)
      • Back-end (55)
        • Spring (30)
        • Nest.js (3)
        • Next.js (2)
        • Node.js (3)
      • Infra & Cloud (20)
        • Cloud Computing (6)
        • Docker (3)
        • AWS (7)
      • Java (2)
      • Computer Science (12)
        • Computer Network (0)
        • Operating System (0)
        • 정보 보호와 시스템 보안 (12)
      • 회고록 (1)
        • 우아한테크코스 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    정보보호
    EC2
    db
    오블완
    보안
    ssl
    Docker
    Kafka
    public key
    ddl-auto
    Spring Boot
    CORS
    https
    고가용성
    JPA
    티스토리챌린지
    CD
    JWT
    Github Actions
    어노테이션
    Lock
    aws
    Nest.js
    Spring
    node.js
    express.js
    nginx
    Webflux
    CI/CD
    WebClient
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.0
류건
[Spring] JPA "Row size too large" 문제 분석하기
상단으로

티스토리툴바