해결된 질문
작성
·
415
답변 1
0
안녕하세요! hwis.pic님!
아래 rest(api), graphql(api), typeorm(orm), mysql(db)와 관련하여 정리된 가이드를 드릴게요!^^
먼저, mysql만을 사용하시면 SQL 쿼리문을 학습하셔야해요!
하지만, 이 SQL 쿼리문이 매번 쓰기 복잡하므로, 이걸 간단히 해주기 위한 ORM(수업에선 TypeORM)을 사용한답니다.
그러면, TypeORM을 사용하면 SQL 쿼리문은 몰라도 되는가?
그건 아닙니다! 쿼리문이 복잡해지면 TypeORM 내에서도 QueryBuilder라는 것을 사용하는데, 이는 SQL 쿼리문 작성 방식과 거의 흡사합니다. 또한 더욱 복잡한 쿼리를 작성하는 경우 mysql 쿼리문을 그대로 작성해야 할 경우도 종종 있습니다!
여기까지만 보더라도 사실 하나만 쓴다기 보다 거의 복합적으로 사용된다고 보시면 되겠죠?!
다음으로 여기서 어떤 api를 사용할지(graphql을 사용할지? rest를 사용할지?)는 조금 다른 관점의 이야기예요!
rest를 사용하는 경우, 위 과정을 그대로 적용하시면 됩니다. 반면에, graphql을 사용하시는 경우, 위 과정을 그대로 적용하되 join을 없애는 방식을 사용하게 됩니다.(본 과정은 전범위의 기초를 포함하기 위해 join, graphql, raw-query를 모두 함께 다루고 있어요!)
따라서, 질문을 재해석하면, rest와 graphql을 다루는 방식에 차이가 있으며, db join을 해석하는 방식에 영향을 줄 수 있습니다. 따라서, typeorm 사용여부와는 상관이 없습니다!