Entity 에 lombok @Getter @Setter
사용하는데, Setter는 가급적 사용하지 말것
(실무에서 setter 추적하는 것이 상당히 골치 아픔)
수정 메소드를 만들어서 활용하는 방향으로 ㄱㄱ
Table Id Column의 경우, name을 지정해주는게 관례 (~~~_id 이런식)
값타입은 변경 불가능하게 설계
값타입의 경우 class 에 생성자가 꼭 필요 (jpa 스펙상) -> protected
로 만들면 new로 빈 생성자 만드는 것이 막힘 (추천)
controller, web : 웹 계층
service : 비즈니스 로직, 트랜잭션 처리
repository : JPA 를 직접 사용하는 계층, 엔티티 매니저 사용
domain : 엔티티가 모여있는 계층, 모든 계층에서 사용.
- 굳이 직렬적으로 꼭 움직일 필요는 없음. controller에서 바로 repository 에 접근 하는 것도 가능하게.
개발 순서 : 서비스, 리포지토리 계층을 개발하고, 테스트 케이스를 작성해서 검증, 마지막에 웹 계층 적용!!
Entity -> Repository -> Service -> unit test -> business logic
Front 개발 (웹 계층)
API 개발