반응형
남이 만든 소스를 확인하다가

javax.persistence.Column, Id, Table... 등등 알지 못했던 것을 발견하게 되었다.

도데체 persistence는 무엇일까....


위키백과 정의

JPA 

자바 퍼시스턴스 API(Java Persistence API,JPA)는 관계형 데이터베이스에 접근하기 위한 표준 ORM 기술을 제공하며, 기존에 EJB에서 제공되던 엔터티 빈(Entity Bean)을 대체하는 기술이다. JPA는 JSR 220에서 정의된 EJB 3.0 스펙의 일부로 정의가 되어 있지만, JPA는 EJB 컨테이너에 의존하지 않으며 EJB, 웹 모듈 및 Java SE 클라이언트에서 모두 사용이 가능하다. 또한, JPA는 사용자가 원하는 퍼시스턴스 프로바이더 구현체를 선택해서 사용할 수 있다.

[ 출처 : 위키백과 https://ko.wikipedia.org/wiki/JPA ]


블로그에서 발견한 정의

JPA(Java Persistent API)

  JPA는 여러 ORM 전문가가 참여한 EJB 3.0 스펙 작업에서 기존 EJB ORM이던 Entity Bean을 JPA라고 바꾸고 JavaSE, JavaEE를 위한 영속성(persistence) 관리와 ORM을 위한 표준 기술이다. JPA는 ORM 표준 기술로 Hibernate, OpenJPA, EclipseLink, TopLink Essentials과 같은 구현체가 있고 이에 표준 인터페이스가 바로 JPA이다.

  ORM(Object Relational Mapping)이란 RDB 테이블을 객체지향적으로 사용하기 위한 기술이다. RDB 테이블은 객체지향적 특징(상속, 다형성, 레퍼런스, 오브젝트 등)이 없고 자바와 같은 언어로 접근하기 쉽지 않다. 때문에 ORM을 사용해 오브젝트와 RDB 사이에 존재하는 개념과 접근을 객체지향적으로 다루기 위한 기술이다.


장점

객체지향적으로 데이터를 관리할 수 있기 때문에 비즈니스 로직에 집중 할 수 있으며, 객체지향 개발이 가능하다.

테이블 생성, 변경, 관리가 쉽다. (JPA를 잘 이해하고 있는 경우)

로직을 쿼리에 집중하기 보다는 객체자체에 집중 할 수 있다.

빠른 개발이 가능하다.


단점

어렵다. 장점을 더 극대화 하기 위해서 알아야 할게 많다.

잘 이해하고 사용하지 않으면 데이터 손실이 있을 수 있다. (persistence context)

성능상 문제가 있을 수 있다.(이 문제 또한 잘 이해해야 해결이 가능하다.)

[ 출처 : woniper 블로그 http://blog.woniper.net/255 ]


상세 설명은 상단 블로그에서 확인 할 것!

반응형

+ Recent posts