일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 논문리뷰
- MySQL
- 디자인패턴
- DeepLearning
- Python
- Java
- 알고리즘
- 자율주행
- 이펙티브자바
- Jetson
- 자바ORM표준JPA프로그래밍
- 딥러닝
- 파이썬
- 아두이노
- JPA
- 영속성컨텍스트
- Hibernate
- 프로그래머스
- 포인트클라우드
- Spring Batch
- Database
- 운영체제
- persistance context
- 자료구조
- 논문
- 네트워크
- 장애물인식
- 배달로봇
- 자바
- cartograhper
- Today
- Total
목록영속성컨텍스트 (2)
제리 devlog
이번 포스팅에서는 트랜잭션상에서 영속성 컨텍스트가 코드상으로 어떻게 사용되는지 확인해보려고 한다. 그전에 디버깅에 유용한 static 메서드를 소개한다. TransactionSynchronizationManager.getResourceMap() 이 메서드는 현재 스레드에 바인딩된 트랜잭션 자원을 확인해볼 수 있다. 예를 들어 아래 코드에서 이 메서드를 실행하면 트랜잭션 실행으로 entityMangerHolder와, datasource가 바인딩될 것을 알 수 있다. 저장 과정 persistanceContext는 entity를 저장하는 환경이다. entityManager를 사용해서 entity를 등록, 조회하는 경우 entityManger는 persistanceContext에 entity를 저장한다. 이제 ..
영속성 컨텍스트란? 엔티티를 영구 저장하는 환경이라는 뜻이다. 엔티티 매니저로 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 저장한다. em.persist(member); 이 코드는 단순히 회원 엔티티를 저장하는 것이 아니다. persist()는 엔티티 매니저를 사용해서 엔티티를 영속성 컨텍스트에 저장한다. 영속성의 생명주기에는 4가지가 있다. 1. 비영속 엔티티의 객체를 생성한 상태이며 아직 저장하지 않았다. 따라서 영속성 컨텍스트나 데이터베이스에 관련이 없는 비영속상태이다. Member member = new Member(); member.setId("member1"); member.setUsername("회원1"); 2. 영속 엔티티 매니저를 통해 엔티티를 영속성 ..