JDO
🧭 JDO란?
정의
JDO(Java Data Objects)는 Java 객체를 데이터 저장소에 직접 매핑하기 위한 표준 API이다. 개발자가 객체 중심으로 데이터를 다루면서도 저장소에 직접 반영할 수 있게 해준다.
🔍 주요 특징
- Java 객체 중심으로 동작한다.
- JDOQL을 지원한다.
- 캐시와 지연 로딩 같은 개념을 제공할 수 있다.
- JDBC와 ORM의 중간 성격을 가진다.
포인트
JDO는 객체를 저장소에 직접 붙이는 방식에 가깝다. SQL보다 객체 모델을 더 앞세우고 싶을 때 이해하기 좋다.
🧱 주요 구성 요소
| 구성 요소 | 설명 |
|---|---|
PersistenceManagerFactory |
설정 기반으로 PersistenceManager를 만드는 팩토리 |
PersistenceManager |
객체 저장, 조회, 삭제 등을 담당 |
Transaction |
트랜잭션 시작, 종료, 롤백 관리 |
Extent |
특정 클래스의 객체 집합 조회 |
🔄 기본 흐름
PersistenceManagerFactory생성PersistenceManager획득- 트랜잭션 시작
- 객체 저장/조회/수정/삭제
- 트랜잭션 종료
- 자원 해제
⚖️ 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
댓글남기기