2011-12-12 3 views
2

나는 Hibernate에 대한 경험이 이미있다. 그러나 내가 맞다면 Versant의 VOD와 같은 객체 데이터베이스에 접근 할 방법이 없다. 그들이 방금 preview with JPA support을 배포 한 이래로 JPA에서 객체 데이터베이스를 사용하기 위해 제한된 최대 절전 모드 기술을 사용할 수 있는지 궁금합니다. 아무도 경험이 있으면이 버전이 호환되는지 알려 주시기 바랍니다.OODB JPA와 Hibernate의 구현상의 차이점

최고.

해리

답변

4

먼저 Versant JPA의 개발자 중 한 명입니다.

Versant JPA로 작업하려면 기본 JPA 기술로 충분해야합니다.

우리는 "Versant JPA"Technical Preview와 제공된 Eclipse 플러그인을 설치 한 후 즉시 실행해야하는 자습서를 제공합니다. 이 기능과 제공되는 "Versant JPA 시작하기"매뉴얼을 통해 얼마나 쉽게 사용하는지 첫인상을 얻을 수 있습니다.

내가 DataNucleus에서 일부 진술에 동의 : 예, VERSANT는 ODBMS 아닌 RDBMS이며, 따라서 우리는 매핑 단지 특정 아무것도 무시 - 자바 데이터 모델의 데이터 모델과 거의 동일 Versant 데이터베이스. 그러나 JPA는 모든 매핑 관련 항목을 제외하고는 객체 데이터베이스에 대한 자연스러운 API이기도합니다. 나는 JPQL의 디자인과 JPA가 RDBMS를 염두에두고 디자인되었다는 사실 사이에는 큰 상관 관계가 있다는 것에 동의하지 않는다. (실제로 Microsoft는 LINQ를 데이터 저장소에 무관심한 수준으로 추상화하여이를 입증했습니다.)

Versant JPA와 RDBMS 기반 JPA 구현 간의 모든 주요 차이점은 "Getting Started with JPA"가이드의 별도 장에 설명되어 있습니다. 런타임에서 자동으로 설정되는 "long"또는 "java.lang.Long"유형의 @Id 필드를 가지는 것이 가장 큰 방법 일 수 있습니다.

또한 JDO 구현이 있지만 Versant JPA 기술 미리보기를 사용해 보는 것이 좋습니다 ("미리보기"라는 용어는 제안했지만 기능이 아직 완료되지 않았 음).

Christian Romberg

1

왜 객체 데이터베이스를 사용하고 있다면 Hibernate가 필요할까요? Hibernate는 객체 - 관계형 매핑을 나타내는 ORM 도구입니다. 관계형 데이터베이스를 사용하지 않는다면, 최대 절전 모드는 무엇입니까?

Here's JPA와 함께 작동한다고 주장하는 ODB; 아마도 Versant의 VOD에 적응하거나 따라갈 수 있습니다.

0

다른 소프트웨어에서 "최대 절전 기능"을 사용하지 마십시오. 당신은 JPA 기술을 사용합니다. 표준 API이므로 동일한 메타 데이터와 동일한 지속성 코드를 가진 동일한 클래스입니다. 유일한 차이점은 persistence.xml에서 사용할 여러 지속성 속성을 가질 수 있다는 것입니다.

JPA는 RDBMS만을 대상으로 설계되었으며, 다양한 부분 (특히 JPQL)은 ODBMS에 적용 할 수 없다는 점은 분명하므로 해당 데이터 저장소에 대해 원하는대로 적합하지 않습니다. JDO와 같은 것이 더 적합 할 것입니다 (VOD는 IIRC도 지원합니다).하지만 어쨌든

+0

Versant의 JPA 구현에는 JPQL에 대한 지원이 포함됩니다.이것은 논리 연산자, 집합 기반 연산, 집계 등을 포함하는 조건부 기반 쿼리 표현식을 표현하기위한 훌륭한 쿼리 API이며 기본 개체 데이터베이스에 의해 지원되는 모든 구문이 지원됩니다. API의 주요 포인트는 Big Data NoSQL 기술을 시도하려는 사람들에게 위험이 거의없는 옵션을 허용하는 것입니다. Hibernate/JPA의 전문가는 (모델이 아무리 복잡해도) 매핑 프로세스없이 Versant를 사용할 수 있으며, 성능과 스케일이 규칙을 따르지 않는다면 RDB 드라이버를 한 번에 플러그인하십시오. – Robert