250x250
Suhosummer
이게 안 되네…? 이게 되네…?
Suhosummer
전체 방문자
오늘
어제
  • Suhosummer (7)
    • Programming (0)
    • CSS (0)
    • HTML (0)
    • JAVA (4)
      • 문제풀이 (1)
    • JS (0)
      • 문제풀이 (0)
    • C (0)
      • 문제풀이 (0)
    • 컴퓨터 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 코딩
  • 표기법
  • 프밍
  • 로드밸런싱
  • 프로그래머스
  • 클라우드보안
  • camel case
  • aspect oriented programming
  • 관점지향프로그래밍
  • 클라우드
  • Pascal Case
  • Snake Case
  • csap
  • Programming
  • jpa
  • java
  • 코딩테스트
  • PaaS
  • 클라우드서비스
  • LAAS
  • 자바
  • 스프링
  • 문자열
  • 프로그래밍
  • 컴퓨팅
  • TPS
  • AOP
  • cps
  • SaaS
  • Spring

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Suhosummer
JAVA

[Spring] JPA 의 개념과 장단점

[Spring] JPA 의 개념과 장단점
JAVA

[Spring] JPA 의 개념과 장단점

2022. 12. 16. 15:54
728x90
반응형
SMALL

JPA란? 

JPA는 Java Persistence API의 약어를 뜻합니다. 

JPA는 자바 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용되는
인터페이스 모음입니다. 

즉 구현된 클래스와 매핑을 해주기 위해서 사용되는 프레임워크란 것입니다.

JPA를 구현한 오픈 소스로는 Hibernate 등이 있습니다.

 

ORM이란?

JPA를 알아봤으니 ORM에 대해서도 알아볼 차례입니다.

ORM은 Object-Relational Mapping의 약어이며 
우리가 알고 있는 Application Class와 릴레이션 데이터베이스(RDB)의 테이블을

매핑 , 즉 연결한다는 뜻이며 어플리케이션의 객체를 테이블에 자동으로 영속화 해주는 것이라고

보면 편하실겁니다.

 

JPA의 장점 

sql문이 아닌 메서드를 통해 데이터베이스를 조작 할 수 있어
개발자는 비즈니스 로직을 구성하는데만 집중이 가능합니다.

 

쿼리와 같이 선언문 , 할당등의 코드가 줄어들어 객체의 대한 코드를 작성하여

가독성을 높일 수 있습니다.

 

객체지향적인 코드가 작성이 가능하기 때문에
생산성이 증가합니다.

 

연결(매핑)하는 정보가 클래스로 명시되어있기 떄문에 ERD의 의존도를 낮출 수 있고
유지보수 , 리팩토링 등에 유리합니다

 

DB를 다른 DB로 변환할 경우 새로 쿼리를 짜야하는 경우가 있지만
ORM을 사용하면 쿼리 수정할 필요가 없습니다.

 

JPA의 단점

프로젝트의 규모가 크고 복잡하며, 설계가 잘못되었을 경우 
속도 저하와 일관성이 무너지는 문제점이 생길 수 있습니다.

 

복잡하고 무거운 쿼리는 속도를 위해 별다른 조작이 필요하기 때문에

sql문을 작성해야 할 수 있습니다.

 

학습비용이 높습니다.

 

 

728x90
반응형
LIST

'JAVA' 카테고리의 다른 글

[Spring] 스프링 AOP의 개념과 특징  (0) 2022.12.16
Java - 표기법 정리  (0) 2022.12.08
  • JPA란? 
  • ORM이란?
  • JPA의 장점 
  • JPA의 단점
'JAVA' 카테고리의 다른 글
  • [Spring] 스프링 AOP의 개념과 특징
  • Java - 표기법 정리
Suhosummer
Suhosummer

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.