JPA를 이용한 DB 연동
테스트 추가
- 메시지를 넣고 빼고 하도록 한다.
- messages
| id |
long |
generatedType으로 Identity를 사용했는데 DB가 자동으로 생성해준다고 한다. 다른 타입이 어떤게 있는지 확인하고 추후에 수정이 필요할 것 같다.(메시지는 굉장히 많다.) |
| content |
TEXT |
|
| author |
Sting |
|
- @Getter(클래스 내 모든 필드의 Getter 메소드를 자동생성), @NoArgsConstructor(기본 생성자 자동 추가)를 사용.
- @Builder(해당 클래스의 빌더 패턴 클래스를 생성. 생성자 상단에 선언 시 생성자에 포함된 필드만 빌더에 포함)
- Entity 클래스에서는 절대 Setter 메소드를 만들지 않는다. 명시적으로 해당 로직에 필요한 메소드를 생성하여 진행한다.
- 기본적으로 생성자를 통해 작업 수행함
- 인터페이스로 Repository 생성 → DB Layer 접근자. JpaRepository<Entity Class, PK Type>을 상속하면 CRUD 메소드가 자동으로 생성된다.
- @Reposity 추가할 필요도 없음. 단 Entity클래스와 Repository 파일이 같은 디렉토리에 위치해야한다. Entity 클래스는 기본 Repository 없이는 제대로 역할을 할 수가 없다.
- 도메인 디렉에서 관리하도록한다.
- 에러 → create table 쿼리 수행시 에러 발생
데이터 조회, 삭제 테스트
- 수정은 따로 하고, 데이터 조회, 삭제만 구현한다.
- 일반적인 로직을 domain 영역에서 하도록 해라
- 서비스 레이어에서는 트랜젝션 순서 정의 정도만 수행하도록
생성, 수정시간 자동화 추가