관리 메뉴

제뉴어리의 모든것

JpaRepository 본문

Spring Boot

JpaRepository

제뉴어리맨 2021. 1. 13. 12:08

Hibernate란?

   Object Relation Mapping(ORM - 객체 관계 매핑) Framework 중 하나.

   객제지향 프로그래밍과 관계형 데이터베이스의 차이로 인해 발생하는 제약사항을 해결하는 해결책으로 봄.

   -. 어떤 제약 사항? : 데이터베이스는 데이터들의 집합 개념을 기반으로 하기 때문에 객체지행 개발방식과 근본적으로 다른점이 있어 객체 간 관계를 데이터베이스에 그대로 저장하기 어려운 문제가 있음.

 

ORM이란?

 가상의 Object DB를 효과적으로 만들어 RDB를 OOP 언어의 개념(객체)으로 연계(매핑)하는 프로그램 기술

 즉, DB의 테이블을 객체지향 관점에서 클래스처럼 프로그래밍 하는 기법.. 개념?

 

JpaRepository란?

 Hibernate를 사용하기 위해 Spring Data JPA에서 제공하는 인터페이스.

 같은 개념으로 CrudRepository가 있음. (CrudRepository는 일반적인 기능만 지원, JpaRepository는 모든 JPA관련 기능 사용 가능)

 

사용 예: 

package org.zerock.demo.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import org.zerock.demo.entity.Memo; //Memo라는 엔티티가 정의 되어 있어야한다

public interface MemoRepository extends JpaRepository<Memo, Long> { //JpaRepository만 상속을 받고 제네릭에 엔티티와 @ID 타입 지정
}

 

 

 

 

추후 Spring Data JPA란 개념을 다시 정리할것