Q. 주말이 지난 뒤, 복습하는 심정은 어떠신가요?
A. 왜 다들 주말을 경계하는지 깨달았습니다.

DB 서버도, @entity도 아무런 문제가 없었다.
그런데 자꾸 404 에러가 뜨거나, Null 값이 뜨거나 하는 사태가 발생한 원인을 여기서 찾았다.
null이 떴던 이유
nullable = false 을 쓰지 않았다.
내용을 적으니 DB 내에서 null이 뜨는 일이 없었다.
내용이 이상하다.
이건 서버의 문제였다, 새로고침을 하니 멀쩡하게 나온다.

service는 repository와 controller는 service와 같이 움직여야하기 때문에,
@RequiredArgsConstructor 를 적용하고,
private final... 가 작성되어진다.

entity의 값에서. ID의 값은 시퀀스이기 때문에 값이 자동으로 지정되어야 한다.
@GeneratedValue로 하나의 시퀀스 값을 만든다.
그리고...

지금까지 난 오류의 대부분이 오타였다. 뭐, inteliJ의 자동완성 덕분에 오타가 적어졌지만, 가끔씩 나는 오타들은 주의해야 할 것 같다.
JSON은 API끼리의 소통을 위한 언어, 타입을 가지나 단순한 형식이다.
지원하는 타입:: 문자열, 숫자, Boolean
{
//JSON의 시작은{}
"키(이름)": 값1,
"키(이름)": 값2
//값에 들어가는 타입은: 문자열, 숫자, Boolean
}
Date의 종류는 LocalDate와 Date가 있다.
Date는 특정 시점의 날짜, LocalDate는 날짜에 대한 정보를 출력한다.
Java 8 이후, LocalDate를 더 많이 쓴다고 한다.
Q. 데이터를 다시 반환할 때, 리턴 타입을 가질까?
A. 맞다, List<>의 형식으로 반환해야 하기에
public List<모델값 이름> 메서드(){ .... }이런 스타일로 작성된다
편의점의 포스기처럼, 등록된 DB를 다시 요청에 맞추어 가공하여 반환하는 프로그램을 제작했다.

이렇게, setAgeManage로 DB로 데이터를 전송하고, getAge로 DB값을 가져와 볼 수 있게끔 가공하는 서비스를 구현하였다.
List<AgeItem>가 작성된 이유는?
DB값에서 필요한 일부 데이터(아이템)를 가져와 가공하기 위해 새로운 리스트를 만든 것이다.
새로운 아이템을 담을 공간(model)값을 만들어 담기 위해, AgeItem이라는 모델을 만들었다.
.findAll()은 모든 데이터값을 가져오게한다.
즉, List<PeopleAge> originData = companyManageRepository.findAll(); 의 뜻은 companyManageRepository의 모든 값을 찾고 저장한 값이 originData이다.

컨트롤러에서는 @GetMapping이 추가되었고,

model 또한 AgeItem가 추가되었다.
복기: model값의 이름을 잘 짓자,
응용의 과정에서 햇갈리는 요소를 정리하게 되면서, List<...> 이 어떤 것인지 이해해야 한다는 것을 알게 되었다. 값이 정리된 리스트라고 생각하면 되는 것인지, 아니면 리스트 그 자체인지..
(생각해보면 값이 저장된 리스트라고 생각하는 게 더 빠를지도 모르겠다)