게시판(Board)와 게시물(Post) 간의 1대N 관계를 설정하고 이를 효과적으로 관리하는 방법을 정리해 보겠다.
1. 엔티티(Entity) 설정
먼저, 게시판과 게시물을 나타내는 엔티티를 설정해야 한다. 게시판(BoardEntity)에는 게시물(PostEntity)의 리스트가 포함된다. 반대로, PostEntity는 BoardEntity와 다대일(ManyToOne) 관계를 가지며, 이는 @ManyToOne 어노테이션으로 설정된다.
2. DTO(Data Transfer Object) 설정
엔티티를 그대로 사용하면 복잡하고 위험할 수 있다. 따라서, 데이터를 전송할 때는 DTO를 사용하는 것이 좋다. BoardDto와 PostDto를 정의하여 데이터를 안전하고 효율적으로 주고받을 수 있다.
3. Converter 클래스
엔티티와 DTO 간의 변환을 처리하기 위해 Converter 클래스를 만든다. 이 클래스는 엔티티를 DTO로 변환하거나, DTO를 엔티티로 변환하는 역할을 한다. 이를 통해 서비스 레이어에서 엔티티와 DTO 간의 변환 작업을 간단하게 처리할 수 있다.
4. Service 클래스
서비스 클래스는 비즈니스 로직을 처리하고, Converter를 이용해 엔티티와 DTO 간의 변환을 수행한다. 예를 들어, 모든 게시판을 조회하거나, 특정 게시판을 조회, 생성, 삭제하는 메서드를 포함한다. 이를 통해 컨트롤러는 간단하게 서비스 클래스를 호출하여 필요한 작업을 수행할 수 있다.
5. Repository 클래스
Repository 클래스는 데이터베이스와의 상호작용을 담당한다. 여기서는 JPA를 사용하여 BoardEntity와 PostEntity에 대한 CRUD 작업을 수행한다. 이를 통해 데이터베이스와의 직접적인 상호작용을 추상화하고, 코드를 깔끔하고 간단하게 유지할 수 있다.
요약
- 엔티티 설정: BoardEntity와 PostEntity를 정의하고 1대N 관계를 설정한다.
- DTO 설정: BoardDto와 PostDto를 정의하여 데이터 전송을 위한 객체를 만든다.
- Converter 클래스: 엔티티와 DTO 간의 변환을 처리하는 클래스를 작성한다.
- Service 클래스: 비즈니스 로직을 처리하고, Converter를 이용해 엔티티와 DTO 간 변환을 수행한다.
- Repository 클래스: 데이터베이스와의 상호작용을 담당한다.
이러한 구조를 통해 게시판과 게시물 간의 관계를 설정하고 관리할 수 있다. 객체 지향 원칙을 유지하면서 효율적으로 데이터를 관리하고 전송할 수 있다.
'JAVA > 자바 공부' 카테고리의 다른 글
멀티모듈 - config 설정 - swagger 사용 (0) | 2024.06.25 |
---|---|
자바 로그인 처리(session) 2024-06-23 (0) | 2024.06.23 |
자바 Filter 2024-06-23 (0) | 2024.06.23 |