[JPA] JPA시작하기 - JPA란?
JPA(JAVA PERSISTENCE API)
JPA를 쓰는 이유
JPA를 제외한 자바를 통한 DB 접근 방법
- JDBC API
- IBatis(MyBatis)
- 스프링 JDBC Template : SQL Mapper
위의 접근 방법의 문제점
1.CRUD의 SQL이 반복된다.
JDBC API를 예를 들어
JAVA에서 Player라는 객체가 있을 때
회원정보를 조회하고 싶으면 다음과 같은 과정을 거쳐야 한다
1.조회 기능을 할 함수를 선언
2.SQL문 작성
3.SQL을 JDBC API를 통해 실행
4.API에서 가져온 데이터를 객체에 매핑
만약, 회원을 추가하는 기능을 구현하고 싶다면 다음과 같은 과정을 거쳐야한다.
1.회원을 추가하는 함수를 선언
2.SQL문 작성
3.정보가 입력된 객체를 SQL에 전달
4.JDBC API를 사용해서 SQL을 실행
이런 과정을 CRUD기능을 사용할 모든 모델과 객체에 대해 반복하고 또 반복해야 한다.
2.SQL에 의존적인 개발을 하게 된다.
JPA의 장점
- CRUD SQL을 작성할 필요가 없다. JPA API를 사용하면 SQL없이 CRUD가 가능하다.
- 조회된 결과를 객체로 매핑 하는 작업도 대부분 자동으로 처리
@Column(name = "number")
private String playerNumber;
private Integer number;
위의 두가지 방법 모두 DB와 매핑하는 방법이다 @Column이라는 어노테이션을 붙이고 테이블내의 변수명을 적어주든가 아니면 그냥 테이블 내의 변수명과
동일하게 클래스내에서 변수명을 선언해주면 자동으로 매핑 된다.
- 생산성과 유지보수성이 좋아진다.
SQL문을 작성할 필요할 필요가 없으니 초기 생산혹은 후에 유지보수하는데 코드단만 조금 수정해 주면 되니 유지 보수성이 뛰어나다.
예를 들어,
매핑할 때 초기 세팅때는 변수명을 동일하게 했다가
혹시 테이블내에서 변수명이 바뀌게 되면 어노테이션의 속성만 변경해 주는 것으로 재매핑이 끝난다.
새로운 변수를 추가하게 되더라도 변수명을 동일하게 혹은 @Column어노테이션을 붙이는 것으로 매핑이 끝나게된다.
다음 포스팅에서는 기본적인 JPA API를 이용한 CRUD에 대해서 포스팅하겠습니다.
본 JPA포스팅은 자바ORM표준JPA프로그래밍(김영한 저) 를 보고 공부한 내용을 바탕으로 작성되었습니다.
끝!
'JPA' 카테고리의 다른 글
[JPA] JPAQuery 에서 Pageable(offset,limit,orderby) 사용하기 (0) | 2023.06.21 |
---|---|
[JPA] @Convert 사용해서 Object를 Json 형식으로 저장하기 (0) | 2019.12.11 |
[JPA] Differences between save() And saveAndFlush() of SpringJPA (0) | 2018.11.10 |
[JPA] save 와 saveAndFlush의 차이 (1) | 2018.11.10 |