4차산업혁명의 일꾼/웹개발

Java JPA

르무엘 2020. 11. 13. 17:35

JPA 특징

  1. 데이터를 객체지향적으로 관리할 수 있기 때문에 개발자는 비즈니스 로직에 집중할 수 있고 객체지향 개발이 가능하다.
  2. 자바 객체와 DB 테이블 사이의 매핑 설정을 통해 SQL을 생성한다.
  3. 객체를 통해 쿼리를 작성할 수 있는 JPQL(Java Persistence Query Language)를 지원
  4. JPA는 성능 향상을 위해 지연 로딩이나 즉시 로딩과 같은 몇가지 기법을 제공하는데 이것을 잘 활용하면 SQL을 직접 사용하는 것과 유사한 성능을 얻을 수 있다.

JPA를 왜 사용해야 할까

  1. sql 중심적인 개발에서 객체 중심적인 개발이 가능하다.
    sql 코드의 반복, 객체지향과 관계지향 데이터베이스의 페러다임 불일치
    Object -> [SQL 변환] -> RDB에 저장
    [개발자 == SQL 매퍼] 라고 할만큼 SQL 작업을 너무 많이 하고 있다.
  2. 생산성이 증가
    간단한 메소드로 CRUD가 가능하다
  3. 유지보수가 쉽다
    기존: 필드 변경 시 모든 SQL을 수정해야 한다.
    JPA: 필드만 추가하면 된다. SQL은 JPA가 처리하기 때문에 손댈 것이 없다.
  4. Object와 RDB 간의 패러다임 불일치 해결

 

JPA 하이버네이트

하이버네이트는 JPA 구현체의 한 종류이다.

JPA는 DB와 자바 객체를 매핑하기 위한 인터페이스(API)를 제공하고 JPA 구현체(하이버네이트)는 이 인터페이스를 구현한 것이다.

하이버네이트 외에도 EclipseLink, DataNucleus, OpenJPA, TopLink Essentials 등이 있다.

LIST