개발일지/2023_한이음
🤦🏻♀️고민하기 - entity 클래스_관련은 있지만 저장되지 않는 컬럼을 어떻게 처리해야 하나?
기억지기 개발자
2023. 8. 4. 19:29
🏕️상황

Board entity의 image 컬럼

- 자료형이 list 형이면 DB에 저장되는 컬럼이 아니고, 다른 엔티티 클래스와의 관계를 정의하는 컬럼이다.
- 정석(?)의 방식이라면 Image 엔티티에서도 [private Board board] 으로 관계를 정의하는 것이 맞지만,
다른 부분에서 개발하면서 저렇게 양쪽에서 하는 방식을 해보니 굳이 Many쪽(Image) 엔티티에서는 board 컬럼이 있는 필요가 없다는 생각이 들었다. - 왜냐?? 저렇게 Board 자료형을 사용하면 굳이 Image에서는 board 테이블을 조회할 필요가 없는데, Hibernate에서 board 관련 쿼리를 날리기 때문에 오히려 불필요한 쿼리를 발생시키는 느낌이 들었다.
- 그래서 그냥 다음과 같이 정의해버렸다.

- 이렇게 구성하고 image 테이블에 boardId를 저장하여, board에서 필요할 때마다 필요한 boardId를 꺼내쓰는 방식을 선택했다.
- 근데 내가 사용하고자 하는 방식이 엔티티 간의 관계를 표시하는데 보편적인 룰을 어기는 느낌이라 굉장히 찜찜한 느낌을 지울 수가 없다.
- 하지만 이런 상황을 구글에 뭐라고 검색해야 할지도 모르겠다ㅋㅋㅋㅋㅋ
- 그래서 이 블로그 글을 남기고 나중에 다시 이 글을 보게 되면 그때 다시 생각해보길 바라는 마음으로 적어본다!!