본문 바로가기

Spring Boot

[JPA] 빈 문자열을 null로 저장하는 converter 만들기

728x90

JPA를 사용하여 웹 서비스를 개발하다보면 Form 전송을 해야 하는 경우가 많이 발생하는데 문자열을 담는 필드를 전송하다보면 의도치않게 null값이 아닌 empty-string이 삽입되는 경우가 발생한다.

 

따라서 빈 문자열이 데이터베이스에 저장될 때 null로 변환해주는 converter를 만들어 필드에 적용한다.

 

EmptyStringToNullConverter.java

@Converter
public class EmptyStringToNullConverter implements AttributeConverter<String, String> {

  @Override
  public String convertToDatabaseColumn(String string) {
    return StringUtils.trimToNull(string);
  }

  @Override
  public String convertToEntityAttribute(String dbData) {
    return dbData;
  }
}

 

 

converter 적용

  @Size(max = 10)
  @Convert(converter = EmptyStringToNullConverter.class)
  @Column(name = "division_group")
  private String divisionGroup;
728x90