ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring 개념
    Spring 2022. 8. 8. 16:34

    ORM: Object Relational Mapping

    객체지향 패러다임을 관계형 데이터베이스에 보존하는 기술

    ORM은 객체지향의 구조관계형 데이터베이스와 유사하다는 점에서 시작

    객체지향 class 인스턴스 참조
    관계형 데이터 베이스 table row(레코드 or 튜플) 관계

    => 객체지향을 자동으로 관계형 데이터베이스에 맞게 처리해주는 것을 의도

     

    JPA: Java PersistenceAPI

    ORM을 Java 언어에 맞게 사용하는 스펙

    JPA는 스펙이기 때문에 스펙을 구현하는 구현체마다 회사의 이름이나 프레임워크의 이름이 다름

    => 대표적으로 Hibernate가 있음

    (ORM(JPA(Hibernate))) 의 구조

     

    Spring Data JPA가 개발에 필요한 것

    • JPA를 통해서 관리하게 되는 객체(엔티티 객체)를 위한 엔티티 클래스

    • 엔티티 객체들을 처리하는 기능을 가진 Repository

     

    JpaRepository 인터페이스 : Hibernate를 이용하기 위해 제공하는 API

    JpaRepository를 사용할 때는 엔티티의 타입 정보와 @Id의 타입을 지정

    => 인터페이스 선언만으로 자동으로 스프링 빈에 등록됨

    < 메서드 >

    insert : save(엔티티 객체)

    select : findById(키타입), getOne(키타입)

    update : save(엔티티 객체)

    delete : deleteById(키 타입), delete(엔티티 객체)

     

    테스트 코드는 작성한 적 없는 클래스의 이름이 출력됨 => 동적 프록시라는 방식으로 만들어짐

     

     

Designed by Tistory.