🔎 JDOQL이란?

정의

JDOQL(Java Data Objects Query Language)은 JDO에서 객체를 조회하기 위해 사용하는 쿼리 언어이다. 객체 모델을 기준으로 조건을 표현한다는 점에서 JPA의 JPQL과 비슷한 위치에 있다.

🧩 특징

  • 객체 중심으로 조회한다.
  • 저장소 구조보다 Java 클래스 모델에 가깝게 작성한다.
  • JDO와 함께 사용한다.
  • 조건식과 정렬, 범위 조회를 표현할 수 있다.

포인트

JDOQL은 SQL을 직접 쓰는 방식이 아니라 객체 모델을 기준으로 질의하는 방식이다.

🛠️ 기본 사용 흐름

  1. JDO 객체를 조회할 쿼리를 작성한다.
  2. PersistenceManager를 통해 쿼리를 실행한다.
  3. 결과를 객체 형태로 받는다.

🧪 예시

Query query = pm.newQuery(User.class, "age > :minAge");
Collection<User> users = (Collection<User>) query.execute(20);
Query query = pm.newQuery(User.class);
query.setFilter("name ** :name");
query.setOrdering("createdAt desc");

⚖️ JDOQL과 JPQL

항목 JDOQL JPQL
대상 JDO 객체 JPA 엔티티
목적 객체 조회 엔티티 조회
사용 위치 JDO JPA
표현 방식 객체 모델 기준 엔티티 모델 기준

정리

JDOQL은 **JDO 전용 쿼리 언어==로 이해하면 된다. JPA를 사용한다면 보통 JPQL을 더 자주 만나게 된다.

✅ 언제 보는가?

  • JDO 기반 프로젝트에서 객체를 조회할 때
  • 객체 중심 질의를 이해하고 싶을 때
  • JDO와 JPQL의 대응 관계를 비교할 때

연결문서

댓글남기기