JDO와 값 객체 간의 차이점

Anonim

JDO와 값 객체

를 필요로하지 않고 POJO (Plain Old Java Objects)를 데이터베이스에 추가 JDO는 POJO를 저장하는 데 사용할 수있는 Java 지속 기술입니다 Plain Old Java Objects)를 다른 데이터 저장소의 기본 구현을 이해할 필요없이 데이터베이스에 추가 할 수 있습니다. 값 개체 (데이터 전송 개체라고도 함)는 여러 계층과 계층간에 데이터를 전송할 목적으로 간단한 데이터 홀더의 개념을 도입하는 추상 디자인 패턴입니다.

JDO 란 무엇입니까?

JDO (Java Data Objects)는 Java 객체 및 데이터베이스 액세스에 지속성을 제공하는 메커니즘을 제공합니다. JDO는 Java 응용 프로그램 개발자가 데이터베이스와 관련된 코드를 작성하지 않고 기본 데이터에 액세스 할 수 있기 때문에 매우 투명합니다. JDO는 Java Standard Edition, 웹 계층 및 응용 프로그램 서버를 비롯한 여러 계층에서 사용할 수 있습니다. JDO API는 직렬화, JDBC (Java DataBase Connectivity) 및 EJB CMP (Enterprise JavaBeans Architecture Container Managed Persistence)와 같은 Java 객체의 다른 지속성 (프로그램 중단 후 객체 유지)에 대한 대안입니다. JDO는 XML과 바이트 코드의 향상을 사용합니다. JDO API를 사용하면 SQL과 같은 새로운 쿼리 언어를 배우지 않아도 데이터를 저장할 수 있다는 이점이 있습니다. SQL은 데이터 저장 유형에 따라 달라집니다. JDO는 개발자가 자신의 도메인 객체 모델에만 집중할 수 있기 때문에 매우 사용하기 쉽습니다. JDO는 데이터 액세스에 따라 코드 자체를 최적화합니다. JDO API는 데이터 저장소의 유형에 엄격하지 않으므로 java 응용 프로그램 개발자가 관계형 데이터베이스, 객체 데이터베이스 또는 XML을 비롯한 모든 데이터 저장소에 Java 객체를 저장하는 데 동일한 인터페이스를 사용할 수 있습니다. JDO는 다른 벤더 구현에서 실행하기 위해 수정이나 재 컴파일이 필요하지 않기 때문에 이식성이 뛰어납니다.

가치 객체 란 무엇입니까?

Data Object (DTO)라고도하는 값 객체는 레이어와 계층간에 데이터를 전송하기위한 데이터를 보관하는 데이터 컨테이너를 처리하는 간단한 추상 디자인 패턴입니다. 이 패턴의 가장 정확한 용어는 데이터 전송 객체이지만 Core J2EE의 첫 번째 버전에서 실수로 인해 값 객체로 도입되었습니다. 이 실수는 제 2 판에서 수정되었지만이 이름은 대중적이었으며 여전히 데이터 전송 객체 대신 많이 사용됩니다 (그러나 올바른 용어는 데이터 전송 객체입니다). DTO 디자인 패턴은 엔티티 bean, JDBC 및 JDO와 함께 사용되어 엔터프라이즈 응용 프로그램의 격리 및 트랜잭션과 관련된 문제를 해결합니다. 이들은 클라이언트와 데이터베이스간에 데이터를 전송하는 데 사용되는 단순한 데이터 보유자 일 뿐이며 모든 유형의 지속성을 제공하지 않는다는 점에 유의해야합니다.DTO는 기존 EJB에서 직렬화 가능 객체로 작동하는 목적을 제공합니다 (3.0 이전의 엔티티 bean은 직렬화 할 수 없음). DTO에 의해 정의 된 별도의 어셈블리 단계에서, 뷰가 사용하는 모든 데이터는 프레젠테이션 계층에 컨트롤이 릴리스되기 전에 획득되고 마샬링됩니다.

JDO와 가치 객체의 차이점은 무엇입니까?

JDO는 실제로 Java 객체를 데이터베이스에 저장하는 데 사용되는 지속성 기술로서 모든 구현 수준의 세부 사항을 처리하고 개발자가 데이터베이스가 아닌 코딩에 집중할 수있게하여 개발자가 편리하게 사용할 수있게합니다. 그러나 값 개체는 클라이언트와 데이터베이스간에 전송할 목적으로 데이터를 저장할 수있는 데이터 전송 개체라는 일반적인 데이터 홀더를 제공하는 추상 디자인 패턴 (기술이 아님)을 나타냅니다. 값 객체는 데이터 전송 기간 동안 일시적으로 데이터를 유지하는 것을 처리하는 반면, JDO는 지속되는 데이터 항목의 기능을 제공합니다. 즉, 값 개체는 지속성을 제공하지 않습니다.