개발/Spring Boot

[로그인 기능 만들기] 8. JPA를 사용한 DB 구현(2)

졔졔311 2024. 5. 27. 15:45
728x90
반응형

이전에 Configuration, domain, dto 패키지로 구분한다고 썼는데, 조금 수정 및 추가할 부분이 생겨 다시 글을 적는다..

 

먼저, JPA 사용을 위해 패키지를 크게 구분하면,

 

1. domain 패키지

2. controller 패키지

3. DTO 패키지

4. service 패키지

 

이렇게 네 가지로 나눌 수 있다.

(configuration같은 부분은 부가적인 부분이니 이번 글의 설명에서는 제외)

 

1. domain 패키지

  1.1. Entity 클래스 : DB Layer로, 실제 DB 테이블과 매칭될 클래스이다. 쿼리를 직접 날리는 대신 사용한다.

                                 실제 DB 테이블 이름을 매칭한다.

                                 VO 정도로 보면 될 것 같다!

  1.2. Repository 클래스 : DAO를 의미한다.

                                         인터페이스를 만드는 과정이며, JpaRepository를 상속받아 CRUD 메소드를 자동 생성한다.

2. controller 패키지

                                   : controller 클래스로, 실제 api를 여기서 정의한다.

3. DTO 패키지

                            : View Layer로, service에서 사용한다. 이때만 setter를 허용한다.

4. service 패키지

                                : controller에서 비즈니스 로직을 불러와 실행할 때, DTO를 사용한 로직이 이 service 클래스에 담겨있다.

728x90
반응형