Domain
Entity
JPA랑 상관이 없음.
JPA가 없으면 설명할 수 없는 개념 같지만 DB와 딱히 상관없는 개념이다.
Domain Entity ≠ DB Entity
1.
Domain Entity
소프트웨어에서 어떤 도메인이나 문제를 해결하기 위해 만들어진 모델
비즈니스 로직을 들고 있고, 식별 가능하며, 일반적으로 생명 주기를 갖는다.
2.
DB Entity
데이터베이스 분야에서 개체 또는 엔티티라고 하는것은 데이터베이스에서 표현하려고 하는 유형, 무형의 객체를 말한다.
도메인 엔티티 User → class User
DB 엔티티 User → Table User
서비스를 만들려면 이 양쪽이 협업이 되어야 한다.
이를 연결해주는 것이 영속성 엔티티 즉, JPA Entity다.
정리하자면,
Domain Entity → 비즈니스 영역을 해결하는 모델
영속성 객체 → ORM
DB Entity → RDB에 저장되는 객체