Skip to content

qwer9412/jpa_test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 

Repository files navigation

jpa_test

출처
https://gmlwjd9405.github.io/2018/12/25/difference-jdbc-jpa-mybatis.html
https://www.petrikainulainen.net/spring-data-jpa-tutorial

ORM(Object-Relational Mapping) vs SQL mapper

· ORM은 데이터베이스 객체를 자바 객체로 매핑함으로써 객체 간의 관계를 바탕으로 SQL을 자동으로 생성해주지만
   SQL Mapper는 SQL을 명시해줘야 한다.

· ORM은 관계형 데이터베이스의 ‘관계’를 Object에 반영하자는 것이 목적
   SQL Mapper는 단순히 필드를 매핑시키는 것이 목적



JPA

· 자바 ORM 기술에 대한 API 표준 명세로, Java에서 제공하는 API

· JPA 구성요소 4가지
   1)javax.persistance 패키지로 정의된 API 그 자체
   2) JPQL(Java Persistence Query Language)
   3) 객체/관계 메타데이터



Hibernate

· JPA의 구현체 중 하나

· HQL, criteria 사용
· 로그인 같은 검증 기능 제공

· 장점
   1) 객체지향적으로 데이터를 관리할 수 있기 때문에 비즈니스 로직에 집중할 수 있다.
   2) 테이블 생성, 변경, 관리가 쉽다.
   3) 로직을 쿼리에 집중하기 보다는 객체 자체에 집중 할 수 있다.
   4) 빠른 개발이 가능하다.
   5) ehcache 전략을 사용(많이 사용하는 데이터를 따로 저장해서 접근 속도 향상 시키는 캐시 전략)

· 단점
   1) 어렵다.
   2) 잘 이해하지 않으면 데이터 손실이 있을 수 있다.
   3) 성능상 문제가 있을 수 있다.



JPQL

· 엔티티는 db의 테이블 이름이 아닌 자바단에서의 엔티티 이름
· 별칭은 무조건 사용해야함, as는 생략 가능



spring data jpa 문법

1. 함수 이름을 이용한 jpa 사용

  1. find..By, read..By, query..By, count..By, get..By 사용
  2. 갯수 제한 -> By 앞에 First 나 Top + 숫자 사용.
     ex) findFist2By
  3. distinct 사용 -> findTitleDistinctBy or findDistinctTitleBy

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages