LeoHeo / collect

e-commerce toy project (WIP)
MIT License
4 stars 0 forks source link

상품, 주문 Entity 구조 설계 #13

Open LeoHeo opened 6 years ago

LeoHeo commented 6 years ago

상품

주문

관계

LeoHeo commented 6 years ago

초기에 구현한 것

어떤게 최적일지 고민...

LeoHeo commented 6 years ago

Entity에 만들어야 하는걸로 결정한다. DTO는 말 그대로 Data Transfer Object이다. 그런곳에 아래와같은 메소드가 들어간다면 의존성이 이상하게 된다.

https://github.com/LeoHeo/collect/blob/2de2f8ad136d66866155ca12bc60ca20ef471e0f/src/main/java/com/collect/domain/order/Order.java#L62-L68

LeoHeo commented 6 years ago

UUID를 pk로 지정하지 말고 business key로 지정해야겠다.

이렇게 정한 이유로는 아래와 같은 이유이다.

디비에서 각row의 ID에 해당하는 primary key는 비지니스 관련 의미가 전혀 없는 surrogate key (대부분의 경우 디비에서 증가 시켜주는 숫자만으로 된 키를 사용)를 사용하시고 object레벨의 ID는 비지니스키를 사용하시는게 좋죠. (예. DB와 상관 없지만 비지니스 로직상 의미가 있는 인보이스 넘버, 오더 넘버 등등)