ERD로 설계한 내용들을 JPA Entity로 표현하기 시작했다.
아래 예시들에서는 기본적인 제품과 제품 카테고리의 CRUD operation을 수행하기 위해서 필요한, product
와 category
의 JPA entity를 사용할 것이다.
// Product.java
@Id
@Column(name = "product_code", unique = true, nullable = false)
private String productCode;
// Category.java
@Id
@Column(name = "category_code", unique = true, nullable = false)
private String categoryCode;
// Product.java
@ManyToOne
@JoinColumn(name = "category_code", referencedColumnName = "category_code", nullable = false)
private Category category;
// Category.java
@ManyToOne
@JoinColumn(name = "parent_category_code", referencedColumnName = "category_code")
private Category parentCategory;
// Product.java
@Column(name = "img")
private String img;
// Category.java
@Column(name = "name", nullable = false)
private String name;
또한, Frontend를 담당한 친구가 사용자 별 권한 분리를 위해 만들어 둔 madeg_user
라는 테이블이 존재하였다. 이 이름을 범용성을 위해 member
로 바꾸었고, 해당 table을 포함하여 전체 ERD를 업데이트 하였다.
user
라는 이름으로 테이블을 생성하고자 하였으나, 이는 PostgreSQL 예약어라 사용할 수 없었기에 member를 테이블 이름으로 정하였다.
다음 방향성에 대한 고민이 있다. 🫥
어느정도 frontend 화면이 나와 있는 제품/카테고리에 대한 API들을 먼저 다 만들지, 아니면 기본적인 Read, Create operation을 수행하는 API들부터 생성할지가 고민이다.
친구랑 충분히 대화를 나누고 우선순위를 정해봐야겠다,,@!!