[Spring] JPA란?

limlim·2023년 4월 12일
0

Spring

목록 보기
3/8

JPA(Java Persistent API)란?

  • 자바 ORM에 대한 API 표준 명세이고, 인터페이스 모임임
  • 대중적으로 사용하는 것에는 Hibernate가 있음
  • 장점
    : CRUD 쿼리를 자동으로 생성해줌
    : Entity에 속성만 추가해준다면 쿼리 건들 필요x
  • 단점
    : 상대적으로 배우는데 있어서 진입장벽 높음

참고사항) Mybatis

  • Java에서는 DB에 접근할 수 있도록 JDBC라는 라이브러리를 제공하는데 학습이 쉬워서 처음 DB에 접근하는 법을 배울 때 자주 사용됨
  • But, 사용할 때마다 연결을 생성해줘야 하고, 중복되는 코드가 많아 실제 개발에는 잘 안쓰임
    (현재 진행할 프로젝트에서는 Mybatis 사용 예정)
  • 이 JDBC를 사용하기 쉽게 만들어 주는 것 -> Mybatis
  • Mybatis는 SQL Mapper에 해당하며, JDBC로 처리하는 부분의 일부를 코드와 파라미터 설정으로 매핑을 대신 해줌

참고사항) SQL Mapper vs ORM

SQL Mapper

  • 직접 SQL문을 작성해 DB를 접근하는 것
  • Mybatis는 SQL Mapper에 해당함

ORM

  • DB의 데이터를 객체로 매핑시켜 접근할 수 있는 것
  • ORM을 사용하면 SQL을 작성하지 않고도 메소드를 사용해 데이터 조작 가능
  • JPA, Hibernate 등이 해당함
  • node.js로 개발할 당시 MySQL을 이용할 때 Sequelize라는 ORM 도구를 이용해 데이터 접근하는 것과 같음
profile
不怕慢,只怕站 개발자

0개의 댓글