프로젝트 진행 중, Post(글) CRUD 관련 개발을 하다가 아래와 같은 오류가 발생했다.
파라미터 값으로 넘어온 content의 값이 너무 길다는 것이다.
그래서 내가 무엇을 빠뜨렸을까 생각을 해보았다.
아래는 Post 엔티티이다.
@Entity
@Getter
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Post {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@CreatedDate
private LocalDateTime createDate;
private LocalDateTime updateDate;
private String subject;
private String content;
private String contentHtml;
@ManyToOne
private Member member;
@OneToMany(mappedBy = "post", cascade = CascadeType.REMOVE)
private List<HashTag> hashTagList;
subject는 글의 제목이라 일반 String타입으로도 충분할 수 있지만, 내용인 content는 일반적인 String타입의 범위를 벗어날 수도 있다.
content와 같이 긴 문자열을 저장할 경우에는
@Column(columnDefinition = "TEXT")
이와 같은 어노테이션을 추가해주면 된다.
해당 컬럼 값의 범위를 TEXT, 즉 제한 없는 문자열로 만들 수 있다.
원래 알고 있었지만, 빠른 개발을 진행하다보니 빼먹은 것 같다.
다음부터는 당황하지 않도록 꼭 엔티티를 신경써서 구성해보자.