문제

다음 JPA 구현을 사용했습니다.

  1. 최대 절전 모드,
  2. TopLink,
  3. OpenJPA

그들 각각은 자신의 강점과 약점을 가지고 있습니다. 나는 자체 개선 사항을 JPA와 혼합하여 다른 공급자로 전환하기가 어려웠다는 점을 제외하고는 최대 절전 모드를 발견했습니다. 가장 중요한 것은 쿼리 파서가 JPA를 해석 할 때 훨씬 더 관대했습니다. 그들은 모든 종속성의 올바른 버전을 얻으려고 노력하는 임무를 발견했기 때문에 최대 절전 모드를 지원하기 위해 올바른 라이브러리를 얻는 것이 약간 어렵습니다.

TopLink는 괜찮 았지만 Oracle이 사용/구매하기를 원하는 것처럼 보이기 때문에 약간 무서워진다는 느낌이 남아 있습니까? 그들의 고급 도서관. 다운로드하려고 시도하는 것도 JAR 파일을 실행하여 설치해야하기 때문에 미션이었습니다. 기본 JPA 사양 만 구현했다는 것을 알았습니다. 내가 사용한 이유는 최대 절전 모드로서 다른 오픈 소스 프로젝트에서 일반적으로 사용되는 많은 라이브러리를 사용하여 특히 JBoss를 사용할 때 클래스 라더 문제를 종종 얻을 수 있습니다.

OpenJPA- 이것은 지금까지 최고의 문서를 가지고 있으며 다운로드 및 사용하기 쉽지만 매우 버그가있는 것 같습니다. 어쩌면 내 코드이지만 코드는 CascadeType와의 Onetomany 관계와 같은 고급 사용량을 찾았습니다. 모든 세트는 작동하지 않았습니다. 틀림없이 그것은 내 코드 일 수도 있고 틀린 코드 일 수도 있고 깨끗한 케이스를 테스트 할 시간이 없었지만 이와 같은 많은 사건으로 인해 그것을 사용하는 것이 무서워합니다. 정말 나아지기를 바랍니다. 오류 메시지는 종종 문제를 해결하는 데 쓸모가 없습니다.

사람들이 사용하는 다른 도서관은 어떤 도서관을 사용하고 어떤 도서관이 선호하는지, 그 이유는 무엇입니까?

도움이 되었습니까?

해결책

이러한 구현에 대해서도 같은 결론을 가졌습니다.

  1. OpenJPA는 버그가되었습니다

  2. 최대 절전 모드에는 수많은 도서관이 있었고 문제가있는 것 같습니다. ~ 아니다 게으른 로딩 모든 것을로드합니다.

  3. TopLink가 결국 내 선택으로 끝났습니다. 최대 절전 모드만큼 유연하지는 않았지만 작동하고 설치할 필요가 없습니다. 커먼즈 로깅.

다음에 시도 할 것은 JPOX입니다. 최근에 이름이 바뀌 었습니다. datanucleus.

다른 팁

개인적으로 나는 OpenJPA가 아직 충분히 성숙하다고 느끼지 않습니다. 더 성숙한 다른 오픈 소스 라이브러리가 있으며 오히려 사용하려고합니다. 이것들은 내가 순서대로 고려할 것입니다.

  1. 최대 절전 모드. 최대 절전 모드는 오랫동안 주변에 있었고 실제로 Java의 ORM의 길을 열었습니다. 최대 절전 모드에서 제가 가진 유일한 문제는 라이센스입니다. LGPL 라이센스가 부여되어 일부 상업용 회사가 Squirm을 유발할 수 있습니다 (여기에 들어 가지 않을 이유가 있습니다). 어쨌든, LGPL이 당신에게 문제라면, 아마도 명확하게 조종하는 것이 좋을 것입니다.

  2. eclipselink. eclipselink에 대한 배경. TopLink Essentials는 JPA 구현의 Oracle의 무료 버전이었습니다. Eclipselink는 Oracle의 완전한 JPA 구현 인 Toplink에서 가져 왔습니다. Eclipselink는 Glassfish v3.0의 JPA 2.0 제공 업체가 될 것이므로 모든 것이 Toplink Essentials와 Eclipselink로 이동하는 것처럼 보입니다. Eclipselink 버전은 1.0.2에 불과하지만 제품은 다른 이름으로 오랫동안 주변에 있습니다.

내가 작업하고있는 프로젝트는 지금 Toplink Essentials에 있지만 곧 Eclipselink로 전환 할 계획입니다. 최대 절전 모드는 앞에서 언급 한 라이센스 문제에 대해 나왔습니다.

OpenJPA는 Kodo로 알려져 있습니다. 이것은 Bea가 오래 전에 구입 한 것입니다. Kodo는 JDO와 현재 JPA의 구현이었습니다. 또한 OpenJPA를 매우 집중적으로 사용합니다. 따라서 나는 그것이 성숙하지 않다고 말하지 않습니다. 괜찮습니다. 그러나 최대 절전 모드, 즉 최대 절전 모드 주변의 JPA 포장지를 사용하는 것이 좋습니다.

이유? 1) JPA는 최대 절전 모드와 매우 유사합니다. 2) 많은 작업 위치에는 최대 절전 모드 요구 사항이 있습니다. 주류 제품에 기댈 것이 낫습니다 ... 기본적으로

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top