JPA란?

twocowsong·2023년 4월 26일
0

김영한_jpa

목록 보기
1/13

JPA란?

Java Persistence API의 약어로, Java에서 객체와 관계형 데이터베이스 간의 데이터를 지속적으로 저장하고 검색하기 위한 API입니다.
Java 언어 기반의 ORM(Object-Relational Mapping) 기술로, 객체와 데이터베이스 간의 매핑을 쉽게 구현할 수 있게 해주는 기술입니다.

객체와 데이터를 연결?

Java는 객체지향 프로그래밍을 기반으로 하며 DB는 관계형 데이터베이스를 사용하며, 데이터를 테이블에 저장하고 관리합니다. 이러한 차이점 때문에 Java와 DB 사이에는 패러다임 불일치가 발생할 수 있습니다.
이를 구현하고 해결하기위한 대표적인 라이브러리들은 Hibernate(JPA), MyBatis 등이 있습니다.

ORM?

  • Object-relational mapping(객체 관계 매핑)
    객체 지향 프로그래밍 언어와 관계형 데이터베이스 간의 데이터를 변환(mapping)하는 기술입니다.

JPA가 실무에서 어려운 이유!

JPA에서는 객체라는 테이블을 설계하는게 가장 중요합니다.
실무는 수십 개 이상의 복잡한 객체와 테이블이 사용되며, 잘못된 매핑으로 개발이 힘들게됩니다.
회사에서 JPA를 도입하려고 먼저 스터디를 하다 중도 포기한 흔적,,,

그래도 JPA를 도입해야하는가??

생산성, 패러다임의 불일치 해결, 유지보수성 향상, 성능 최적화, SQL 중심적인 개발에서 객체 중심으로 개발 등 많은 장점들이 있으며 개인적으로는 회사에서 테스트코드 도입, flyway를 사용할때 JPA에 필요성을 개인적으로 느꼈습니다.

그리고 무엇보다..재밌을꺼같으니깐?

profile
생각하는 개발자

0개의 댓글