JPA 개념 정리하기

💜poiuyy0420·2021년 3월 25일
0

JPA

목록 보기
1/1
post-thumbnail

ORM

ORM(Object-Relation Mapping)은 정확하게 일치하지 않은 자바 객체와 테이블 사이를 매핑해 준다. ORM은 자바 객체에 저장된 테이터를 테이블 Row 정보로 저장하고, 반대로 테이블에 저장된 Row 정보를 자바 객체로 매핑해 준다.

지금까지 스프링 JDBC나 Mybatis를 이용하여 자바 객체와 테이블을 매핑 하였다. SQL 명령어를 자바 클래스나 외부 파일에 작성해야 했다. 그리고 이렇게 작성된 SQL은 유지보수 과정에서 지속적으로 수정되며 새로운 SQL이 추가되기도 한다.

JPA 개념


자바 ORM 기술에 대한 표준 명세로, JAVA에서 제공하는 API이다.
즉, ORM을 사용하기 위한 인터페이스를 모아둔 것이라 볼 수 있다.

ORM 프레임워크의 가장 큰 특징이자 장점은 DB연동에 필요한 SQL을 자동으로 생성한다는 것이다.

오래전부터 객체와 테이블 간의 불일치 때문에 발생하는 여러 문제점을 해결하기 위해 다양한 노력을 기울여 왔다. 그 과정에서 등장한 것이 EJB의 EntitiyBean 기술이다. 하지만 기술적인 완성도가 높지 않아서 성능이나 복잡한 구현 등의 문제로 개발자로부터 외면을 당했다.
그러던 중 등장한 것이 Hibernate 프레임워크다.

Hibernate 말고도 TopLink나 Cocobase 같은 다른 ORM 프레임워크들도 하나씩 등장하기 시작했다. 그래서 이런 ORM 프레임워크들에 대한 표전화 작업이 필요했고 그것이 JAP다.

JAP 특징

  • JAP는 모든 ORM 프레임워크들의 공통 인터페이스를 제공한다.
    애플리케이션을 구현할 때, JPA API를 이용하면 개발 당시에는 Hibernate를 ORM프레임워크로 사용하다가 실제 서비스가 시작될 때는 TopLink로 변경할 수 있다.

  • DB연동에 필요한 SQL을 자동으로 생성한다는 것이다.
    JPA는 반복적인 CRUD 작업을 생략하게 해준다.
    SQL을 수정하지 않고, 간단한 CRUD로 생산성이 높아진다.
    저장 : jpa.persist(member)
    조회 : Member member = jpa.find(memberId)
    수정 : member.setName("변경할 이름")
    삭제 : jpa.remove(member)

profile
안녕하세요 :)

0개의 댓글