Spring Boot
                
              [JPA] 빈 문자열을 null로 저장하는 converter 만들기
                유저인사이트 강윤구
                 2022. 8. 4. 13:39
              
              
                    
        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