본격적으로 코딩 공부를 시작한지 어느덧 19일차이지만, 여전히 개념적인 부분에서 너무나 부족하다. 그래서 아래와 같이 오늘 공부한 것들을 적어서 정리를 해보았다.
ERD는 정보 기술 시스템 내에서 사람, 개체, 장소, 개념 또는 이벤트 간의 관계를 나타내는 그래픽 표현이다. ERD는 비지니스 프로세스를 정의하고 관계형 데이터베이스의 기반이 될 수 있는 데이터 모델링 기술을 사용한다.
Peter Chen Notation을 사용하여 아래 사용 방법 및 의미를 확인해보자.
수정이 필요하지만 오늘 처음으로 첫 프로젝트에 필요한 ERD를 작성해보았다.
알고보니 이걸 대신 만들어주는 사이트가 있어 공유해본다.
https://www.erdcloud.com/
먼저 NullPointerException(NPE) JavaDoc에서는 "NPE is meant to be used for attempting to use null where an object is requred." IllegalArgumentException(IAE) JavaDoc에서는 "Thrown to indicate that a method has been passed an illegal or inappropriate argument."
즉, 정리해보면 NPE는 null을 허용하지 않는 메소드에 null이 인자로 넘어왔을 때 사용하면 되고, IAE는 잘못된 인수를 가진 호출을 받았을 때 사용하면 된다.
오늘 프로젝트를 하며 Timestamped가 연결이 되지 않는 문제가 계속 발생했다. 같이 프로젝트를 진행하고 있는 페어가 Application클래스에 @EnableJpaAuditing이 들어가있는지 확인해보라고 해서 했더니 들어가있지 않았다. 이런 기본적인걸 잊지 않고, 같은 실수를 반복하지 않기 위해 적어보았다.
*@EnableJpaAuditing은 엔티티 객체가 생성이 되거나 변경이 되었을떄, 해당 Annotation을 활용하여 자동으로 값을 등록할 수 있다.
Controller (Presentation Layer)
Service (Business Layer)
Repository (Persistence Layer)
정리해보면 아래와 같다.