optional 3

DB연동 도중 발견된 버그들(Enumerated, AuditingEntityListener, Optional 메서드)

회원에 관한 CRUD 서비스를 완성하고 회원을 등록했을때 발견된 버그이다. 위의 그림을 살펴보면 CREATED_AT, LAST_MODIFIED_AT, MEMBER_STATUS 컬럼이 비어있다. JPA에서는 참조 타입에 입력값이 없는경우 null로, int와 같이 정수형 원시타입의 경우 0으로 채워져 저장된다. 버그1 - MEMBER_STATUS에 열거형 데이터 적용 public class Member extends Auditable { ... ... @Enumerated @Column(length = 20, nullable = false) private MemberStatus memberStatus = MemberStatus.MEMBER_ACTIVE; ... ... public enum MemberSta..

Spring Rest Docs Custom

다이전 포스트에서 Spring Rest Docs를 이용하여 API문서의 자동화를 진행하던 중 몇가지 보완해야될 점을 발견했다. 테이블에 optional에 대한 정보 표현 유효성 검증에 대한 정보 표현 두가지를 표현하기 위해서 Spring Rest Docs 사용자 정의를 이용하여 API문서를 좀 더 개발자에 맞게 표현해줄 수 있다. Optional에 대한 정보 표현 1. Request fields의 Optional에 대한 정보 표시 @WebMvcTest(MemberController.class) @MockBean(JpaMetamodelMappingContext.class) @AutoConfigureRestDocs public class MemberControllerRestDocsTest { ... ... ..

Spring Data JDBC

Spring Data JDBC Spring Data JDBC는 Spring에서 데이터베이스에 접근하는 다양한 기술들중 하나로 JDBC API 안에서 작동한다. 또한 ORM기술이 적용되어 SQL문을 직접 작성하는 것이 아닌 객체를 통해 데이터베이스에 접근 할수 있는 기술이다. ORM (Object Relational Mapping) 이란 객체 지향 프로그래밍 언어와 SQL문을 맵핑해주는, 즉, 두 언어를 서로 변환시켜 관계형 데이터베이스에 접근 할수 있도록 해주는 기술이다. Spring Data JDBC 사용 라이브러리 추가 dependencies { ... ... implementation 'org.springframework.boot:spring-boot-starter-data-jdbc' //Sprin..