728x90
JPA는 Java Persistence API 자바 진영의 ORM 기술 표준이다.
여기서 ORM이란 bject-relational mapping(객체 관계 매핑)으로 객체는 객체대로 설계, 관계형 데이터베이스는 관계형 데이터베이스대로 설계한 후 ORM 프레임워크가 중간에서 매핑을 한다.
EJB는 너무 성능이 떨어지기 때문에 JPA로 사용하게 되었다. 오픈소스에서 출발한 표준이기 때문에 매우 실용적이고 정제되어있다.
구현체로는 대부분 하이버네이트를 사용한다. JPA를 구현한 하이버네이트가 있다.
그렇다면 왜 JPA를 사용하는가?
- SQL 중심적인 개발 -> 객체 중심 개발
- 생산성 증가
- 유지보수 편이함
- 패러다임 불일치 해결
- 성능 상승
- 데이터접근 추상화
- 표준화
의 장점들이 있다.
생산성 상승 하는 이유 : 아래처럼 편하게 사용을 할 수 있게 된다. JPA와 CRUD.
- 저장: jpa.persist(member)
- 조회: Member member = jpa.find(memberId)
- 수정: member.setName(“변경할 이름”)
- 삭제: jpa.remove(member)
유지보수 - 기존: 필드 변경시 모든 SQL 수정 그러나 지금은 JPA: 필드만 추가하면 됨, SQL은 JPA가 처리한다.
멤버를 저장한 후 멤버를 꺼내면 팀을 조회할 수 있다.
JPA를 통해 비교하면 ==해도 같음을 보장한다. 기존 java의 동일성과 동등성과의 차이가 있다.
덕분에 조회 성능의 향상이 된다.
같은 트랜잭션에서만.. 다른 트랜잭션에서는 불가능하다.
728x90