Spring Boot 썸네일형 리스트형 [JPA] 빈 문자열을 null로 저장하는 converter 만들기 JPA를 사용하여 웹 서비스를 개발하다보면 Form 전송을 해야 하는 경우가 많이 발생하는데 문자열을 담는 필드를 전송하다보면 의도치않게 null값이 아닌 empty-string이 삽입되는 경우가 발생한다. 따라서 빈 문자열이 데이터베이스에 저장될 때 null로 변환해주는 converter를 만들어 필드에 적용한다. EmptyStringToNullConverter.java @Converter public class EmptyStringToNullConverter implements AttributeConverter { @Override public String convertToDatabaseColumn(String string) { return StringUtils.trimToNull(string); }.. Hibernate 부모-자식 연관관계 삭제 문제 개요조직-부서 관계를 가진 Entity를 개발 중에 발생한 문제였습니다.조직은 여러 개의 부서를 가질 수 있는 다대 다 관계의 모델을 구성했는데, 조직이 삭제되면 하위에 있는 모든 부서가 삭제되어야 하는 기능입니다. 1234@OneToMany(mappedBy = "organization", cascade = {CascadeType.MERGE}, fetch = FetchType.EAGER)@OnDelete(action = OnDeleteAction.CASCADE)@JsonBackReferenceprivate List departments = new ArrayList();Colored by Color Scriptercs 위와 같이 구현을 완료하고 삭제 버튼을 클릭하는 순간 DataIntegrityViolat.. Spring JPA Envers 를 이용해 데이터의 변경이력 관리하기 개요프로젝트를 수행하다 보면 삭제된 데이터를 어떻게 처리할 지에 대한 방법의 차이가 존재합니다.Envers는 데이터의 추가, 수정, 삭제에 대한 모든 이력을 Entity 기준으로 자동으로 관리해 주기 때문에 이러한 고민을 덜어주는 아주 훌륭한 라이브러리입니다. 적용하기에 앞서가령 아래와 같은 EventCode라는 엔티티가 있다고 가정을 해 봅시다.이 프로젝트에서는 삭제 버튼을 눌러 엔티티를 삭제하면 DELETE 구문이 아닌 UPDATE 구분을 이용해 removed라는 필드를 true로 변경합니다. 123456789101112131415161718192021@Getter@Setter@Entity@Table(name = "event_code", uniqueConstraints = @UniqueConstrai.. 이전 1 2 3 다음