메뉴 닫기

[Java]JPA란

Java Persistence API

EJB에서 구현 되었던 엔티티빈을 POJO철학을 반영하여 구현한 기술.

Persistence 란 어플리케이션의 데이터가 프로세스(JVM)보다 오래 지속 되는것을 말한다.(참고)

관계형 데이터베이스에서 받은 데이터를 Row단위로 오브젝트에 매핑 시키는 것이 ORM인데 이를 표준화 했다.

대표적으로 Hibernate가 있는데, Hibernate가 나왔기 때문에 JPA스팩이 정의된것인지 , JPA에의해서 Hibernate가 구현된것인지는 비밀.

소스로 한번 참고해보자. Spring Data JPA 로 구현한것이다.

  1. Entity 클래스 생성 – 클래스 이름이 테이블 이름

 

2. CrudRepository를 상속 받아 구현

 

3.실행

 

간단히 개념적인 부분만 코드로 적어본 것이다. 자세한 내용을 원한다면 http://jekalmin.tistory.com/entry/springdatajpa-%EA%B8%B0%EB%B3%B8-%EC%98%88%EC%A0%9C 를 참고

진짜 이런 설정 하다보면 그냥 PHP하고 싶을때가 많다. Laravel에서는 저런거 없이 ORM개념을 잘 구현하는거 같던데.. 시간 되면 PHP의 ORM과 Java의 ORM을 비교