[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