2011-11-01 2 views
2

JPA를 처음 사용하기 때문에이 기능이 꽤 표준적인 기능이라면이 질문을 용서해주십시오. 그러나 데이터베이스가 없어도 JPA를 사용할 수 있으며 기본적으로 응용 프로그램에 객체를 저장할 캐시로 사용할 수 있습니까? 그렇다면, 그 표준 관행은 무엇입니까?JPA를 캐싱 메커니즘으로 사용 하시겠습니까?

답변

3

JPA를 in memory database과 함께 사용하면 효과적으로 캐시가 될 수 있습니다. 예. '데이터베이스없이'사용하면 저장소가 무엇이든 관계없이 작동하는 커스텀 JPA 공급자를 구축하는 데 엄청난 양의 작업이 소요됩니다. 'Persistent'부분을 완전히 버려두는 진정한 JPA 구현이라면 RDBMS가 아닌 캐시 등에 대해 쿼리 언어를 구현하기 위해 수년 만에 몇 년을 투자해도됩니다.

나는 어디에서나 일한 적이 없지만 개인적으로는 '표준 관행'에서 그러한 설정을 직접 제출하지 않을 것입니다. :)

+0

하하, 감사합니다. – JCab

1

JPA는 Hibernate, EclipseLinkOpenJPA 같은 몇 가지 주요 선수에 의해 구현 단지 API이다 (그래서 지속성 제공라고도 함). 이러한 모든 라이브러리는 객체 관계형 매핑을 구현하고 데이터베이스에 초점을 맞 춥니 다.

난 정말 당신의 동기 부여를 얻을 수 있지만하지 않는 작업을 수행 할 수 있습니다 EhCache 같은

  • H2 같은 사용중인 메모리 데이터베이스 및 지속성 제공

  • 사용 사실상 표준 캐싱 솔루션 또는 JCache API 추상화

  • JPA를 구현하는 고유 한 지속성 공급자를 구현합니다. 가장 무서운 최악의 해결책.

+0

감사합니다. 이론상으로 "이 질문을 할 수 있습니까?" 저는 EhCache와 Memcache 등을 알고 있습니다. 그러나 그것이 가능했는지를 알기는 정말 호기심이었습니다. – JCab

관련 문제