본문 바로가기
Dev/Spring Boot

[스프링 부트 개념과 활용] 스프링 데이터 5부

by dev_jsk 2020. 8. 27.
728x90
반응형

ORM

  • Object-Relational Mapping의 약자로 객체와 릴레이션을 매핑할 때 발생하는 개념적인 불일치를 해결하는 패러다임
  • 객체와 RDBMS 매핑, 객체와 DB 테이블이 매핑을 이루는 것

 

개념적인 불일치

OOP적 구조(사물을 추상화시켜 이해하려는 OOP적 사고방식)와 SQL적 구조(DataModel을 정형화하여 관리하려는 RDB) 간의 불일치

 

참고

http://hibernate.org/orm/what-is-an-orm/

 

What is Object/Relational Mapping? - Hibernate ORM

'Object-Relational Impedance Mismatch' (sometimes called the 'paradigm mismatch') is just a fancy way of saying that object models and relational models do not work very well together. RDBMSs represent data in a tabular format (a spreadsheet is a good visu

hibernate.org

JPA(Java Persistence API)

  • Java ORM 기술에 대한 표준 인터페이스
  • Java Application에서 RDBMS를 사용하는 방식을 정의한 인터페이스
  • Hibernate 기반으로 만들어져 있다.

스프링 데이터 JPA

JPA를 아주 쉽게 사용할 수 있게 스프링 데이터로 추상화시켜놓은것

 

특징

  • Repository Bean 자동 생성
  • Query Method 자동 구현
  • @EnableJpaRepositories (스프링 부트 자동설정에 포함)

참고

https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#preface

 

Spring Data JPA - Reference Documentation

Example 108. Using @Transactional at query methods @Transactional(readOnly = true) public interface UserRepository extends JpaRepository { List findByLastname(String lastname); @Modifying @Transactional @Query("delete from User u where u.active = false") v

docs.spring.io

* 스프링 데이터 JPA > JPA > Hibernate > Datasource 각 하위 항목을 기반으로 구현

728x90
반응형

댓글