word를 wordfolder에 저장하려고 entity를 구성하려는 상황입니다.
직접적으로 wordfolder에 list로 word를 통째로 저장하는 건 비효율적인 것 같아서
챗지피티에 물어보니 wordinfolder라는 중간 객체를 만들어서
1대다, 다대1 관계로 word랑 wordfolder를 연결하는 연결 클래스 같은 걸 만들라고 하더라고요.
그래서 하라는대로 만들긴 했는데
이거 좀 비효율적으로 보이는 것 같은데 개선방안 있을까요?
폴더안에 있는 단어 찾을 때도 wordinforder를 참조해서 단어를 찾아야하는 상황인데 솔직히 이게 맞는지 감이 안오네요..
초보라서 두서가 없는점 죄송합니다
성능 효율적인 방안 없을까요
- dc official App
한마디에 따라 구현은 180도 바뀌는것도 가능함 뭘 하고 싶은지부터 설명하는게 맞음 의도가 없으면 구현도 없다
워드랑 워드폴더라고 이름 지었다는건 단어랑 단어장 만드는거 같은데. 그럼 단어들이랑 단어장들이 다대다 관계란 말이지. 다대다를 관리하는 방법중에 하나가 복합 테이블인데, 복합테이블이 위에서 얘기한 "연결 클래스" 또는 연결 테이블임. 왜 챗지피티가 1대다, 다대1을 연결하라는지는 잘 모르겠네... 결국 그 연결법이면 다대다 아닌가?
1. 복합 테이블 만드는거 추천. database normalization 검색하면 좋음. 왜 이런 테이블이 나오게 됐는지 (난 이거 한글로 모름) 2. 복합 테이블 만들었으면 이제 data jpa 로 이걸 만들어내야되는데, 워드 id 랑 워드폴더 id 가 둘다 여기 복합 키로 들어가게됨. 이걸 jpa 나 hibernate 으로 하는 법 검색해보셈. 3. JPA 에 @Many-to-many 도 있음. 이게 이 상황에 맞는지 모르겠는데, 복합테이블 만드는게 정석일거임. @Many-to-many 로도 될지도 모르겠음. 2번 3번 해보고 원하는 데이터 나오는지 테스트 해보면 될듯.
물론 내가 가정한 단어장 아이디어가 맞다면 해보시고, 아니라면 위에 댓 2개 버리시면 됩니다.