Java 데이터 객체

Java Data Objects

Java Data Objects(JDO; Java 데이터 객체)는 Java 객체의 지속성을 나타내는 규격입니다.기능 중 하나는 도메인 모델에 대한 지속성 서비스의 투과성입니다.JDO 영구 객체는 일반적인 Java 프로그래밍 언어 클래스(POJO)입니다. 특정 인터페이스를 구현하거나 특수 클래스에서 확장할 필요가 없습니다.JDO 1.0은 Java Community Process 12로 개발되었습니다.JDO 2.0은 JSR 243으로 개발되어 2006년 5월 10일에 출시되었습니다.JDO 2.1은 Apache JDO 프로젝트에 의해 2008년 2월에 개발되었습니다.JDO 2.2는 2008년 10월에 출시되었습니다.JDO 3.0은 2010년 4월에 출시되었습니다.

오브젝트 영속성은 외부 XML 메타파일에 정의되어 있으며 벤더 고유의 확장을 가질 수 있습니다.JDO 벤더는 컴파일된 Java 클래스 파일을 투명하게 유지할 수 있도록 수정하는 Enhancer를 개발자에게 제공합니다.(바이트 코드 강화는 JDO 사양의 요건을 구현하기 위해 일반적으로 사용되는 메커니즘이지만 JDO 사양에 의해 강제되는 것은 아닙니다.)현재 JDO 공급업체는 지속성을 위한 몇 가지 옵션(: RDBMS, OODB 또는 파일)을 제공하고 있습니다.

JDO 확장 클래스는 여러 벤더의 구현 간에 이식할 수 있습니다.Java 클래스는 강화되면 모든 벤더의 JDO 제품과 함께 사용할 수 있습니다.

JDO는 여러 가지 방법으로 Java EE와 통합됩니다.우선, 벤더의 실장은 JEE[clarify] 커넥터로서 제공될 수 있습니다.둘째, JDO는 JE 트랜잭션 서비스의 맥락에서 작동할 수 있습니다.

JDO vs. EJB3 vs. JPA

엔터프라이즈 JavaBeans 3.0(EJB3) 사양은 EJB v2 with Entity Beans와 마찬가지로 지속성도 다루었습니다.두 표준 기구 사이에 중요성에 관한 표준 충돌이 있었다.JDO에는 몇 가지 상용 구현이 있습니다.

결국 "EJB3 Core"의 지속성이 "끊겨져" 새로운 표준인 Java Persistence API(JPA)가 형성되었습니다.JPA는javax.persistence이 패키지는 처음에 EJB3 규격 JSR 220 내의 별도의 문서에 명시되었지만 나중에 자체 규격 JSR 317로 이동되었습니다.상당히,javax.persistence는 EJB 컨테이너를 필요로 하지 않기 때문에 JDO가 항상 해왔던 것처럼 Java SE 환경에서도 동작합니다.그러나 JPA는 객체 관계 매핑(ORM) 표준이며, JDO는 객체 관계 매핑 표준이며 투명 객체 지속성 표준입니다.API 관점에서 JDO는 기본 데이터스토어의 기술에 의존하지 않는 반면 JPA는 RDBMS 데이터스토어를 대상으로 합니다(DataNucleus 및 ObjectDB와 같이 JPA API를 통해 비관계형 데이터스토어에 대한 액세스를 지원하는 여러 JPA 제공자가 있습니다).

주요 JDO 상용 구현 및 오픈 소스 프로젝트에서는 JPA API 구현도 기본 지속성 엔진에 대한 대체 액세스로 제공되며, 이전에는 원래 제품에서 JDO를 통해서만 제공되었습니다.JDO에는 많은 오픈 소스 구현이 있습니다.

JDO 버전2의 신기능은 버전1에서 찾을 수 없다

  • 연결이 끊긴 개체 그래프 개념
  • 표준화된 ORM 매핑 기술자(ORM 기반 JDO 구현용)
  • JDOQL 확장 기능 (싱글 문자열 형식, 더 많은 문자열, 맵 및 산술 메서드 지원 필수)
  • 예를 들어 a를 입수하다Connection부터javax.jdo.PersistenceManager
  • 상세: 명명된 쿼리(pm.newNameed)쿼리), Fetch Plan, 시퀀스, 쿼리에 의한 삭제, PM의 여러 사용자 개체

JDO 레퍼런스 구현

  • JDO 1.0 : FOStore
  • JDO 2.0 : JOX 1.1
  • JDO 2.1 : JOX 1.2
  • JDO 2.2 : Data Nucleus Access Platform 1.0.1
  • JDO 3.0 : Data Nucleus Access Platform 2.1.0
  • JDO 3.1 : Data Nucleus Access Platform 3.2.0
  • JDO 3.2 : Data Nucleus Access Platform 5.2.0

「 」를 참조해 주세요.

참고 문헌

  • Jordan, David; Russell, Craig (April 22, 2003). Java Data Objects (1st ed.). O'Reilly Media. p. 384. ISBN 0-596-00276-9.
  • Tyagi, Sameer; Vorburger, Michael; McCammon, Keiron; Bobzin, Heiko (September 21, 2003). Core Java Data Objects (1st ed.). Prentice Hall. p. 576. ISBN 0-13-140731-7.
  • Ezzio, David (June 6, 2003). Using and Understanding Java Data Objects (1st ed.). Apress. p. 456. ISBN 1-59059-043-0.

외부 링크