[Spring Boot] JPA 엔티티 String 속성을 더욱 큰 속성으로 변경
2023. 9. 13. 17:37ㆍ기술 창고/Spring
728x90
SMALL
@Column(nullable = false)
private String lyrics; // 가사
보통 엔티티 속성을 지정할 때 텍스트 속성들은 String 타입 변수로 지정해준 뒤, Column 어노테이션을 붙이고 끝납니다.
이 String은 DB에 적용되게 되면 varchar 타입이게 되는데, varchar의 크기를 임의로 지정해줄 수 있습니다.
@Column(nullable = false, length = 20)
private String lyrics; // 가사
이런식으로 length 옵션 값을 부여하여 크기를 지정해줄 수 있습니다.
위의 코드에서는 length = 20을 부여했기 때문에 DB에서도 확인해보면 varchar(20) 으로 지정되게 됩니다.
만약, length 옵션 값을 지정하지 않았다면 255 크기로 고정되게 됩니다.
하지만 저의 경우에는 코드에서도 볼 수 있다싶이 가사를 엔티티에 넣어주고 싶었는데 일반적인 방식으로 크기를 지정해서는 되지않습니다.
따라서 일반적인 varchar 타입으로 하는 것이 아니라 아예 그보다 더욱 큰 타입의 변수로 지정해주는 것입니다.
@Column(columnDefinition = "LONGTEXT") // 혹은 columnDefinition = "TEXT"
private String lyrics; // 가사
length 옵션 대신 columnDefinition 으로 Text 타입의 더욱 큰 컬럼으로 정의해주었습니다.
이렇게 될 경우 최대 크기인 255 사이즈를 훌쩍 넘어 제한을 풀어줄 수 있습니다.
따라서, 가사와 같이 긴 텍스트도 무사히 들어가게 됩니다.
728x90
반응형
LIST
'기술 창고 > Spring' 카테고리의 다른 글
[Spring Boot] 구글 Oauth2 인증 및 구글 소셜 로그인 기능 구현 (0) | 2023.09.20 |
---|---|
[Spring Boot] mp3 파일 정보 추출 (0) | 2023.09.13 |
[Spring Boot] Spring Boot 3.XX 버전 이상 QueryDSL 설정 및 실행 과정 (0) | 2023.09.11 |
[Spring Boot] Spring Boot로 프로덕션 환경 배포 준비하기 - (2) Configuration Properties (0) | 2023.09.02 |
[Spring Boot] Spring Boot로 프로덕션 환경 배포 준비하기 - (1) Profile (0) | 2023.09.02 |