2013-02-20 3 views
1

JPA를 봄과 함께 최대 절전 모드의 맨 위에 사용하면 어떤 이점이 있는가? JPA + Hibernate + Spring을 사용하는 Google에서 몇 가지 프로젝트와 몇몇 토픽을 보았지만 좋은 설명을 찾을 수 없었습니다.Spring의 Java Spring hibernate와 JPA

도 JPA를 사용할 때와 최대 절전 모드를 사용하는 경우. 어떤 하나

+0

[Java EE 6이 Spring보다 나은 이유는 무엇입니까? (Arun Gupta, Miles to go ...)] (https://blogs.oracle.com/arungupta/entry/why_java_ee_6_is) –

+0

마지막 부분 참조 : http://stackoverflow.com/q/9881611/422353 – madth3

답변

1

JPA은 표준화 된 ORM 프로그래밍 모델로 엔티티 지속성을 단순화합니다. 즉, 응용 프로그램 코드와 ORM 공급자 간의 종속성을 줄이기 위해 지속성 계층을 추상화합니다.

이 표준화 (JPA)는 등 프로 스프링 3 (클라렌스 호)에서

최대 절전 모드,는 OpenJPA 같은 JPA 지속성 공급자 사이를 전환 할 수있는 방법을 제공합니다 :

JPA는 일반적인 정의 주석 집합, 인터페이스 및 JPA 지속성 공급자가 구현해야하는 기타 서비스 (모두 )가 javax.persistance 패키지에 포함됩니다. JPA 표준을 프로그래밍 할 때 개발자는 JEE 표준에서 개발 된 응용 프로그램의 다른 JEE 호환 응용 프로그램 서버로 전환하는 것과 마찬가지로 기본 공급자를 자유롭게 전환 할 수 있습니다. 다른 질문 개별적으로 JPA 때 최대 절전 모드를 사용하는 방법을 사용하는 경우

에 관한

.

JPA 추가 복잡성의 비용으로 모듈화를 촉진합니다. 이러한 절충안의 가치는 프로젝트의 복잡성에 달려 있습니다.

최대 절전 모드은 RDBMS의 관계형 데이터 구조와 Java의 개체 지향 모델 간의 간격을 좁 힙니다. 이 성숙하고 테스트 된 라이브러리를 사용하면 객체를 사용하여 비즈니스 로직에 집중하고 데이터베이스와 상호 작용하는 데 필요한 보일러 플레이트 코드를 작성하는 시간을 절약 할 수 있습니다.

1

JPAJava Persistence API 단지 API입니다 스탠드 아래에 나를 도와 주면

는 정말 감사드립니다. 지속성 서비스를 사용하기위한 인터페이스입니다. 그 자체로는 메타 데이터를 제공하는 것이 아니라 아무것도 수행하지 않습니다.

HibernateJPA에 대한 구현입니다. ORM 프레임 워크입니다. 실제 지속성 서비스를 제공합니다. 이는 JPA 메타 데이터 (주석)를 읽음으로써 수행됩니다.

Spring은 프레임 워크 모음 일뿐입니다. 이 프레임 워크 중 하나는 Hibernate을 지원합니다. 예를 들어, 데이터베이스로 작업 할 때 종종 트랜잭션에서 여러 작업을 래핑하려고합니다. Hibernate 만 사용한 경우 작업을 마무리하기 위해 코드를 다시 작성해야하지만 Spring은이를 처리하는 트랜잭션 관리 지원을 제공합니다.

1

JPA와 최대 절전 모드는 동일한 것입니다. JPA는 API (인터페이스, 추상 클래스, 스펙)이며, Hibernate는이 API의 구현 중 하나입니다.

당신은 Hibernate를 사용하고 독점적 인 비표준 API를 계속 사용할 수 있지만, 표준 API를 사용하여 똑같은 일을 할 수 있고, 다른 프로젝트에서 사용할 수 있고, 다른 구현.

스프링은 의존성 삽입, 선언적 트랜잭션 및 훨씬 많은 서비스를 제공하기 위해 다른 레벨로 사용됩니다.

관련 문제