일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- AOP
- 의존성
- 트랜잭션
- 미션
- 코드리뷰
- 서블릿
- 레벨2
- AWS
- 스프링 부트
- Docker
- 세션
- REDIS
- mock
- JUnit5
- HTTP
- 우테코
- JPA
- 스프링부트
- CircuitBreaker
- 우아한테크코스
- Paging
- 우아한세미나
- Spring Batch
- 프리코스
- yml
- MSA
- 백준
- Level2
- 프로그래머스
- 자바
- Today
- Total
목록백앤드 개발일지 (72)
늘
예~전에 공부한 내용이지만 복습할 겸 글을 적어보려고 한다. 우선 이해하기 쉽게 정의를 해보자면 DAO: 실제 DB에 접근하는 객체 DTO: DB에서 얻어 Service나 Controller 등으로 보낼 때 사용하는 객체 DAO는 최근(?)에는 Repository라고 부른다. 말 그대로 저장소인데 DB에 접근하는 객체(엔티티)로서 이러한 엔티티를 설계할 때는 주로 @setter를 추가하지 않는다. DB와 연관된 만큼 마음대로 수정되면 에러가 발생하기 쉽기 때문이다...! 주로 Builder등 다른 방식으로 이용하는데 이와 관련된 내용도 할 말이 많아서 다음에 포스팅하겠다.! DTO는 DAO로부터 받은 정보들을 controller나 service단에서 자유롭게 움직일 객체이다. 따라서 @getter @se..
상속 논리 모델을 DB 물리 모델로 구현하는데에는 크게 3가지가 있다고 한다. 1. 조인 전략 2. 단일 테이블 3. 구현 클래스 각각 테이블 전략(3번은 잘 안쓴다고 한다..그래서 제외!) 1. 조인 전략 우선 상속 전략을 InheritanceType.JOINED로 설정해준다 그러면 오른쪽 그림처럼 엔티티간에 각각의 DB 테이블이 생성할 수 있다. 가장 정규화된 방법이라고 한다. 2. 단일 테이블 서비스 규모가 크지 않고, 굳이 조인 전략을 선택해서 복잡하게 갈 필요가 없다고 판단 될 때에 이용한다. 한 테이블에 다 저장하고, DTYPE으로 구분하는 단일 테이블 전략을 선택할 수 있다. 개인적으로 작은 프로젝트를 해보면서 단일 테이블 전략에 매력을 느꼈었다. (한눈에 보기 좋아서..) 그런데 규모가 커..