programing

봄 + 동면 대 봄 데이터 JPA: 서로 다릅니까?

codeshow 2023. 10. 4. 23:05
반응형

봄 + 동면 대 봄 데이터 JPA: 서로 다릅니까?

초보자는 아니지만, 이것을 제대로 이해할 수 있도록 봄의 틀(다시!)을 배우려고 노력하고 있습니다.핵심적인 봄(DI)에 대한 적절한 아이디어를 얻었습니다.지금은 데이터 계층에 초점을 맞추고 있습니다.

는 봄과 동면이라는 용어를 접하게 되었습니다.제가 해석할 수 있는 것처럼 Spring Framework with Hibernate를 ORM 도구/J로 사용하는 것을 의미합니다.PA 공급자.

저는 지금 "봄의 데이터 JPA"를 접했습니다.저는 Spring Data JPA에 대해 SO에서 JPA 위에 추상화 계층임을 분명히 했습니다(그리고 후드 아래에 Spring Data JPA는 Hibernate 또는 다른 JPA 공급자를 사용함).

이제 이 용어들은 같습니까?즉, "봄 + 동면"은 "봄 데이터 JPA"와 동일합니다.그렇지 않다면 차이점/유사점은 무엇입니까?

저는 (위와 같은) 너무 많은 용어/문에 대해 매우 혼란스럽습니다. 비슷한 것 같지만, 다를 수도 있습니다.

Spring-data-jpa는 말씀하신 것처럼 기존의 Spring-JPA 통합보다 더 많은 기능을 제공합니다.JPA/Hyvernate 통합을 통해 주로

  • JPA/Hibernate 트랜잭션을 이용한 선언 트랜잭션 관리
  • 예외 번역
  • JPA Entity Manager 또는 Hibernate SessionFactory를 주입 가능한 콩으로 사용합니다.

Spring-data-jpa를 사용하면 이 모든 것을 얻을 수 있으며, 다른 것들 중에서도

  • 인터페이스 전용 리포지토리, 메서드 이름을 사용하여 쿼리 자동 추론
  • @인터페이스 메서드가 반환해야 하는 쿼리를 정의하는 쿼리 주석
  • Pageable 쿼리 자동 처리
  • 표준 crud 저장소에 대한 기본 클래스

이것은 아주 작은 소개일 뿐입니다.자세한 도움말은 설명서를 참조하십시오.

당신이 봄에 대해 말할 때 + 동면.

  1. 만약 당신이 혼자 동면을 읽는다면, 당신은 그것이 매핑(기본적으로 데이터베이스 관계와 포조를 매핑하기 위한 구성)과 구성(드라이버 클래스, url, 사용자 이름, 비밀번호, 방언 등과 같은 데이터베이스에 특화된 구성)을 사용한다는 것을 이해할 것입니다.
  2. 이제 읽기, 쓰기, 업데이트 등을 사용하고 싶다면,당신은 받아야 합니다.hibernatesessionfactory및.각 작업에 대한 사전 및 사후 작업이 많습니다.
  3. 모드를 이 합니다.hibernatetemplateg을 사용하는hibernatesessionfactory 및 에 대해 쓸 가 없습니다 따라서 이러한 작업을 수행하는 동안 사전 및 사후 코드에 대해 크게 신경 쓸 필요가 없습니다.
  4. 또한 캐싱(1차 및 2차 레벨 캐시)을 제공하여 성능을 향상시켰습니다.
  5. 또한 데이터베이스와 독립적인 HQL로 작업할 수 있는 기회도 제공합니다.데이터베이스 방언을 사용하여 데이터베이스 특정 sql을 생성합니다.

이제 봄 + data jpa에 대해 이야기 해보겠습니다.

  1. 기본 저장소 인터페이스와 함께 제공됩니다(스프링 데이터 공통, 스프링 jpa에서 제공)
  2. 당신이 수술에 이 있다고 , 를 하세요.crud repository런입니다에 그입니다.
  3. 에 대해 할 를 새 인터페이스를 할 수 . 확장되는 새 리포지토리 인터페이스를 생성하여 이를 수행할 수 있습니다.Repository인터페이스. 할 수 .애플리케이션 전체에서 이를 사용할 수 있습니다.
  4. 합니다를 할 수 합니다.sql or jpql.

이 링크가 도움이 된다고 생각합니다.

JPA는 자바 퍼시스턴스 API로 객체-관계 매핑을 위한 자바의 표준 API입니다.

JPA는 규격일 뿐이며, 이를 사용하려면 이를 구현해야 합니다.Hibernate는 JPA의 가장 잘 알려지고 가장 많이 사용되는 구현 중 하나이지만 EclipseLink JPA와 같은 다른 구현도 있습니다.

Spring Framework는 엔터프라이즈급 소프트웨어를 보다 쉽게 작성할 수 있도록 도와주는 큰 프레임워크입니다.여기에는 JPA를 포함한 많은 Java 기술에 대한 지원이 포함되어 있습니다.

Spring Framework는 프로젝트 모음으로 구성되어 있으며, 이러한 프로젝트 중 하나가 Spring Data입니다.

Spring Data의 목표는 기존 관계형 데이터베이스에서 NoSQL 데이터베이스에 이르기까지 다양한 종류의 데이터베이스를 보다 쉽게 사용할 수 있도록 하는 것입니다.Spring Data는 Spring Data JPA 하위 프로젝트를 통해 JPA를 지원합니다.

JPA를 사용하는 프로그램을 작성하려면 최소 최대 절전 모드와 같은 JPA 구현이 필요합니다.

응용 프로그램에 Spring Framework를 사용하는 경우에는 Hibernate와 함께 Spring Data JPA를 사용하는 것이 가장 좋습니다.

Spring Data JPA는 JPA 공급자가 아닙니다.이것은 JPA 프로바이더(Hibernate)의 상단에 추상화 계층을 추가하는 라이브러리/프레임워크입니다.

따라서 Hibernate, EclipseLink 등과 같은 JPA 프로바이더 없이는 Spring Data를 사용할 수 없습니다.

언급URL : https://stackoverflow.com/questions/37012437/spring-hibernate-versus-spring-data-jpa-are-they-different

반응형