🛤️상황
기존에 학교에 대한 정보에 해당 학교에 대한 학과나 태그에 대한 정보는 반환하지 않았다.
하지만 반드시 필요한 정보들이기 때문에 그 부분을 내가 개발하기로 하였다.
- 학과나 태그는 하나의 학교에 여러 가지 값들을 갖는 테이블이기 때문에 school 테이블의 입장에서 학과와 tag는
@OneToMany 관계이다.
🗝️과정/해결
<school 테이블 중 일부>
@OneToMany(mappedBy = "schoolId", cascade = CascadeType.ALL)
private List<Tag> tag;
- tag는 여러 값들이 하나의 school에 존재하니 List 형태로 저장하기로 했다.
- school 테이블의 깔끔함(?)을 위해서 db에 직접 저장되는 방식이 아닌 것으로 선택했다.
- (학과(dept)도 동일한 방식으로 진행)
<Tag 테이블 중 일부>
@ManyToOne
@JoinColumn(name = "schoolId")
private school schoolId;
- 초기에는 tag 테이블에서도 위처럼 school 테이블과 조인 관계를 형성.
- 추후에 굳이 조인 관계를 형성할 필요가 없다고 느낌.
➡️school 테이블과 tag 테이블의 관계를 표현하기 위해서는 조인이 필요할 수 있지만 생각해 보면 굳이 schoolId이라는 칼럼이 school 테이블의 id를 알지 않아도 나중에 필요할 때 tag 테이블의 schoolId 값만 조회하면 데이터들을 얻을 수 있다고 판단. - 그래서 아래와 같이 schoolId를 구성하였다.
- (dept도 동일하게 진행)
private Long schoolId;

'개발일지 > 2023_한이음' 카테고리의 다른 글
[개발] spring boot - JPQL(@Query)를 사용하여 데이터 거르기 (0) | 2023.07.09 |
---|---|
[개발] intellij - h2 DB에서 MySQL로 변경하기 (0) | 2023.07.08 |
[개발]🚨ERROR -java.sql.SQLIntegrityConstraintViolationException: Cannot add or update a child row: (0) | 2023.07.06 |
[개발]🚨ERROR - java.lang.IllegalArgumentException: rawPassword cannot be null (0) | 2023.07.03 |
[개발외] 현재 프로젝트 ERD 그리기 (0) | 2023.07.02 |