일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 스프링 #백엔드 #자바
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #OSI #ISO #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- 챌린저스 #bod
- spring security #jwt 토큰 #json web token #token #직렬화 #인증
- 스파르타 코딩클럽 #내배캠 #모의면접 #예상질문 #http 메서드 종류 #메서드 #post #put #get #patch #소셜로그인 #네이버 #기능구현 #vue.js #spring boot #네이버로그인 #연동하기
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- 스파르타 코딩클럽 #내배캠 #모의면접 #예상질문 #http 메서드 종류 #메서드 #post #put #get #patch #aop #관점지향프로그래밍 #유지보수
- 프로세스 #CPU #시공유 #커널
- 보안 #이슈
- 비트 #바이트 #이진수
- 스파르타 코딩클럽 #내배캠 #모의면접 #예상질문 #http 메서드 종류 #메서드 #post #put #get #patch #get방식 #post방식 #http프로토콜 #클라이언트 #백엔드 #api
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #웹개발
- java5기
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- 스파르타 코딩클럽 #내배캠 #모의면접 #예상질문 #http 메서드 종류 #메서드 #post #put #get #patch #ci #ioc #의존성
- 스파르타 코딩클럽 #인메모리db #h2 #연동이슈 #문제해결 #방법 #spring security #header #
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- 스파르타 코딩클럽 #내배캠 #모의면접 #예상질문 #http 메서드 종류 #메서드 #post #put #get #patch #springmvc패턴 #model #view #controller
- 스파르타 코딩클럽 #내배캠 #모의면접 #예상질문 #http 메서드 종류 #메서드 #post #put #get #patch #tdd #테스트 주도개발 #테스트코드 #유닛테스트
- 스파르타 코딩클럽 #내배캠 #모의면접 #예상질문 #http 메서드 종류 #메서드 #post #put #get #patch #트랜잭션전파 #transaction
- 공간복잡도 #공간자원 #캐시메모리 #SRAM #DRAM #시간복잡도
- 스파르타 코딩클럽 #내배캠 #최종프로젝트 #4개월삭제 #국비지원 #자바
- 인가 #
- ci/cd파이프라인
- 스파르타 코딩클럽 #내배캠 #모의면접 #예상질문 #http 메서드 종류 #메서드 #post #put #get #patch #최종프로젝트 #aws s3 #프로필 이미지 수정 #자동삭제
- 스파르타 코딩클럽 #내배캠 #모의면접 #예상질문 #http 메서드 종류 #메서드 #post #put #get #patch #대용량트래픽 #처리방법 #캐싱 #코드최적화 #db최적화 #트래픽 #로드밸런서
- 스파르타 코딩클럽 #내배캠 #모의면접 #예상질문 #http 메서드 종류 #메서드 #post #put #get #patch #ci #cd
- 쓰레드 #쓰레드풀 #프로세스
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #KDT #기본문법 #데이터베이스 #Computer #Science #CPU #메모리
- 스파르타 코딩클럽 #내배캠 #최종프로젝트 #로그인 #인증인가 #jwt? #토큰인증 #액세스토큰 #리프레시토큰 #쿠키 #파싱 #서명키의 중요성 #security context holder
- Today
- Total
요리사에서 IT개발자로
스파르타 부트캠프 JPA 동작 원리 (다락방) 본문
JDBC API 는
Java를 이용한 데이터베이스 접속,
SQL문의 실행,
실행결과 데이터 핸들링을 제공하는 방법,
절차에 관한 규약으로
JPA내에서 동작한다.
MemberDAO에서 객체를 저장하기 위해서
Member객체를 JPA에 넘긴다.
그럼 JPA가 객체를 분석하고 INSERT Query를 생성한다.
그 후에 JDBC API를 사용하여 INSERT Query를 DB에 보내고
DB에서 결과를 받는다.
Member의 PK값만 (id) JPA에 넘기면
JPA가 Member객체를 분석하여 적절한 SELECT Query를 만들어낸다.
이를
JDBC API를 사용하여 Query를 보낸뒤 결과를 반환받는다.
결과로 받은 ResultSet을 객체에 매핑해준다.
객체와 SQL을 동시에 고쳐야할 일이 없다.
저장 : jpa.persist(member)
조회 : Member meember = jpa.find(memberId)
수정 : member.setName("변경이름");
삭제 : jpa.remove(member)
동일한 Transaction내에서 조회한 엔티티는 동일하며 보장한다.
주소값은 다르다.
JPA 구동방식
EntityManagerFactory 는
WAS 내에서 Singletone으로 만들어져야하는
EntityManager를 생성하는 Factory interface이다.
EntityManager는
Request(요청) 시마다 Factory에서 생성하여
영속성을 관리하는 객체로
내부적으로 DatabaseConnection을 통해서 DB를 사용한다.
쓰레드는 공유하면 안되며 생명주기가 존재한다.
EntityTransaction은
JPA의 모든 객체와 데이터 변경은
Transaction level 안에서 수행되며 영속성을 갖는다.
Persistence Context(영속성 컨텍스트)
객체(Entity)를 영구 저장하는 환경(메모리)을 의미하며
EntityManager.persist(entity);는
DB에 엔티티를 저장한다는게 아니라
영속성 컨텍스트를 영속화(저장)함을 뜻한다.
본질은 같다.
Entity LifeCycle
비영속 (New) : 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태(처음생성)
영속 (managed) : 영속성 컨텍스트에 관리되는 상태 EntityManager.persist(entity) 이후의 상태
준영속 (detached) : 영속성 컨텍스트에 저장되었다가 분리된 상태
삭제 (removed) : 삭제된 상태
비영속과 영속차이
https://hs-backend.tistory.com/200
'Spring' 카테고리의 다른 글
스파르타 부트캠프 연관관계 맵핑 (다락방) (0) | 2024.06.18 |
---|---|
스파르타 부트캠프 Entity 맵핑 (다락방) (0) | 2024.06.18 |
스파르타 부트캠프 객체와 관계형 DB (다락방) (0) | 2024.06.18 |
스파르타 부트캠프 JPA (다락방) (0) | 2024.06.18 |
Spring Boot JUnit 과 TDD, 단위테스트와 통합테스트 (1) | 2024.06.15 |