🧭 JDO란?

정의

JDO(Java Data Objects)는 Java 객체를 데이터 저장소에 직접 매핑하기 위한 표준 API이다. 개발자가 객체 중심으로 데이터를 다루면서도 저장소에 직접 반영할 수 있게 해준다.

🔍 주요 특징

  • Java 객체 중심으로 동작한다.
  • JDOQL을 지원한다.
  • 캐시와 지연 로딩 같은 개념을 제공할 수 있다.
  • JDBC와 ORM의 중간 성격을 가진다.

포인트

JDO는 객체를 저장소에 직접 붙이는 방식에 가깝다. SQL보다 객체 모델을 더 앞세우고 싶을 때 이해하기 좋다.

🧱 주요 구성 요소

구성 요소 설명
PersistenceManagerFactory 설정 기반으로 PersistenceManager를 만드는 팩토리
PersistenceManager 객체 저장, 조회, 삭제 등을 담당
Transaction 트랜잭션 시작, 종료, 롤백 관리
Extent 특정 클래스의 객체 집합 조회

🔄 기본 흐름

  1. PersistenceManagerFactory 생성
  2. PersistenceManager 획득
  3. 트랜잭션 시작
  4. 객체 저장/조회/수정/삭제
  5. 트랜잭션 종료
  6. 자원 해제

⚖️ JDO vs JPA

항목 JDO JPA
쿼리 언어 JDOQL JPQL
저장소 범위 RDB, OODB, 기타 저장소 주로 RDB
구현체 DataNucleus, Versant 등 Hibernate, EclipseLink 등
표준 JSR 12, 243 JSR 220

[!important] 주의 현재 Java 진영에서는 JPA가 더 널리 사용된다. JDO는 개념 비교용으로 알아두면 좋지만, 실무에서는 자주 보지 않을 수 있다.

🧩 함께 보면 좋은 개념

  • ORM
  • JPA
  • JDOQL

연결문서

댓글남기기