Spring Data JPA 의 이해

영속성의 의해 1

  • 영원히 계속되는 성질 이나 능력을뜻함
  • 물리적인 저장소에 저장하는 행위 영속화
  • 자바에서 SQL 을통해 RDBMS 에 데이터를 저장하는 행위를 영속화 라고 표현

  • 객체지향 어플리케이션에서는 객체를특정저장소에 저장하는행위를 영속화라고불름

영속성의 이해 2

  • 자바에서는 다양한 방법으로 RDMBS로 영속화 함.
  • 솔루션 (TopLink 또는 Hibernate)을 사용해서 객체를 RDBMS로 영속화 할수있다.

  • Enterprise JavaBeans의 엔티티빈을 사용해서 객체를 RDBMS로 영속화 할수있다
  • 자바에서는 객체를 RDBMS로 영속화할때 > 일반적으로 OR맵핑 or SQL맵핑을 사용

영속성의 이해 3

  • 자바에서는 직접적으로 데이터베이스의 프로토콜을 사용하는 대신 JDBC 인터페이스를 사용

  • JDBC 인터페이스는 자바와 데이터베이스를 연결하기 위한 기능을 정의
  • 데이터베이스 제조사는 JDBC 인터페이스를 자사 제품에 맞도록 구현
  • 다양한 벤더들 때문에 자바에서는 JDBC 인터페이스 정의만 제공한다


객체의 세상과 테이블의 세상1

  • 객체중심의 객체지향 어플리케이션과 / 테이블 중심의 관계형 데이터베이스는 서로 목표가 다르다
  • 이를 패러다임이 일치하지않는다고 표현 / 이는 개발과정에서 많은 비용을 발생시킴
  • 영속적으로 데이터를 저장하기위해/ 객체의세상 / 테이블의세상 을 서로 맞추는 과정이 필요함

객체의 세상과 테이블의 세상2

  • 자바 어플리케이션에서 관계형 데이터베이스의 사용을돕는 프레임워크를 Persistence Framework라고 한다
  • Persistence Framework 는 SQL Mapping 과 ORM 으로 구분
  • SQL Mapping 은 자바코드와 SQL을 분리하며 개발자가 작성한 SQL의 수행 결과를 객체로 매핑한다
  • ORM은 객체와 관계형 데이터베이스 사이에서 매핑을 담당하여 SQL을 생성하여 패러다임의 불일치를 해결한다

Spring Data + JPA 의 이해

  • JPA(Java Persistence API) 자바프로그램에서 관계형 데이터베이스에 접근하는 방식을 명세화한 인터페이슷
  • JPA 는 ORM(Object-Relational Mapping) 기술 표준이며 , 구현체로 Hibernate 라이브러리를 사용
  • Spring Data는 영속 데이터 관리를 위한 프로젝트이며 ,데이터의 저장 기술에 상관없이 다양하게 적용가능
  • Spring Data + JPA 의 의미는 / 순수 JPA를 통한 데이터 관리에 / Spring Data를 더해 좀더 쉽게 영속데이터를 관리할수 있도록 사용

  • Application > Spring Data JPA > JPA (Hibernate) >JDBC > RDBMS

Categories:

Updated:

Leave a comment