query(2)
-
SpringBoot + GraphQL (1/2)
들어가며 최근에 TypeScript + GraphQL을 경험했습니다. Spring 서버에서는 GraphQL을 어떤 방식으로 제공하는지 궁금해서 간단히 실습했습니다. 이번 포스팅에서는 GraphQL이 무엇이며, 장/단점은 무엇인지에 대해 다룹니다. SpringBoot에서 GraphQL을 어떻게 사용하는지는 다음 포스팅을 참고해주세요. GraphQL이란? GraphQL(gql)은 페이스북에서 만든 쿼리 언어입니다. '쿼리 언어' 하면 SQL이 가장 먼저 떠오르는데요, SQL은 데이터베이스 시스템에 저장된 데이터를 효율적으로 가져오는 것이 목적이고, gql은 웹 클라이언트가 데이터를 서버로 부터 효율적으로 가져오는 것이 목적입니다. 따라서 sql의 문장(statement)은 주로 백앤드 시스템에서 작성하고 호..
2023.07.13 -
JPQL 기본 문법
JPA는 다양한 쿼리 방법을 지원한다. JPA Criteria, QueryDSL, 네이티브 SQL, Mybatis 등 다 같이 사용할 수 있다. 단, 영속성 컨텍스트를 적절한 시점에 강제로 플러시 필요하다. 영속성 컨텍스트에서 DB로 commit이나, 중간에 flush() 호출이 없으면 DB에는 아직 반영이 안되어있는 상태이기 때문이다. JPQL은 쿼리를 날리기 전에 flush가 동작한다. 이후 쿼리가 실행된다. JPQL은 강제로 수동 flush()를 해줄 필요가 없다. 가장 기본이 되는 방법은 JPQL인데, 이거 잘하면 QueryDSL도 뚝딱이라고 한다. 얼른 쿼리문 짱고수 되고싶다.. 먼저, JPA를 사용하면 엔티티 객체를 중심으로 개발해야 한다. 검색을 할 때도 테이블이 아닌 엔티티 객체를 대상으로..
2022.03.28