이 게시물은 김영한 강사님의 https://www.inflearn.com/course/ORM-JPA-Basic/dashboard 이 강의를 듣고 적은 게시물입니다.
지금 시대는 객체를 관계형 DB에 넣어 관리한다. 이는 SQL 중심적인 개발을 하게 되는데 이 문제점으로는 생각할 것이 많고 해야할 일이 복잡해진다. 하지만, 자바 컬렉션으로 저장 및 조회한다면 매우 간편하다. 따라서 객체를 자바 컬렉션에 저장 하듯이 DB에 저장하는 것처럼 하기 위해 JPA가 나온것이다.
-Java Persistence API
-자바 진영의 ORM 기술 표준
object-relational mappin(객체 관계 매핑)
->객체와 RDB를 매핑
객체는 객체대로 설계하고 관게형 DB는 관계형 DB대로 설계하여 ORM 프레임워크가 중간에서 매핑해준다.
대중적인 언어에는 대부분 ORM 기술이 존재한다.




jpa:필드만 추가하면 됨, sql은 jpa가 처리
1.JPA와 상속
2.JPA와 연관관계
3.JPA와 객체 그래프 탐색
4.JPA와 비교하기




1.같은 트랜잭션 안에서는 같은 엔티티를 반환 - 약간의 조회성능 향상
2.DB Isolation Level이 read commit이어도 애플리케이션에서 repeatable read보장

1.트랜잭션을 커밋할 때까지 insert sql을 모음
2.JDBC BATCH SQL기능을 사용해서 한번에 SQL 전송
1.UPDATE,DELETE로 인한 로우락 시간 최소화
2.트랜잭션 커밋 시 UPDATAE, DELETE SQL실행하고, 바로 커밋

ORM은 객체와 RDB 두 기둥위에 있는 기술