Java/Java Spring
-
[Spring Data JPA] - 연관 관계 매핑Java/Java Spring 2023. 5. 17. 13:49
Entity 설계에 대해서 공부하다 보니, 연관 관계 매핑이란 말을 심심치 않게 볼 수 있었다. 일대다, 다대일, 단방향, 양방향 등등 그렇다면 모두 다대다 양방향 매핑을 하면 안되는 걸까? 라는 생각으로 공부했던 내용을 정리한다. 연관 관계 매핑이란? 연관관계 매핑 : 객체의 참조와 테이블의 외래 키를 매핑하는 것 연관 관계 매핑 시 고려 요소 1. 방향(Direction) 단방향 / 양방향 객체는 참조용 필드를 가지고 있는 객체만, 연관된 객체를 조회할 수 있다. 두 객체가 서로 참조하는 관계 => 양방향 관계 한 객체에서 다른 객체만 참조하는 관계 => 단방향 객체 테이블의 경우, 외래 키 하나로 양쪽으로 조인이 가능 => 양방향 혹은 방향이 없다 라고 판단 가능 2. 다중성(Multiplicity..
-
도메인 주도 설계란 무엇인가?Java/Java Spring 2023. 5. 3. 11:46
혼자 토이 프로젝트로 쇼핑몰을 개발하며 Entity를 설계해보면서, 의문이 생겼다. 처음 의문이 생긴 부분은 왜 setter, getter를 사용하는 것을 지양하는지 였고, 검색을 하며 DDD에 대해 알 수 있었다. 이 후, 최범균님의 '도메인 주도 개발 시작하기'를 읽고 알게 된 점을 정리해 본다. 도메인 주도 설계(DDD)는 무엇일까? 도메인 전문가와 소프트웨어 개발자 간의 커뮤니케이션 문제를 없애고 상호가 이해할 수 있고 모든 문서와 코드에 이르기까지 동일한 표현과 단어로 구성된 단일화된 언어체계를 구축해나가는 과정 쉽게 풀어보자면 도메인을 중심으로 시스템을 설계해 나가는 것을 의미한다. - getter, setter를 남발하지 말자 - 불변 객체를 사용하자 - 생성자를 적극적으로 사용하자 - 도메..