JAVA27 인프런 JPA 3화 영속성 컨텍스트 "김영한 강사" -PlusUltraCode- 영속성 컨텍스트란?영속성 컨텍스트(Persistence Context)는 엔티티를 영구 저장하는 환경을 의미합니다. EntityManager.persist(entity);위 코드를 이해하기 위해서는 영속성 컨텍스트의 개념을 알아야 합니다. EntityManager를 생성하면 PersistenceContext가 1:1로 생성됩니다. 엔티티의 생명주기는 다음과 같은 4가지 상태로 나눌 수 있습니다:1. 비영속 (Transient)영속성 컨텍스트와 전혀 관계없는 새로운 상태.단순히 new 키워드를 사용하여 객체를 생성한 상태입니다. Member member = new Member();2. 영속 (Persistent)영속성 컨텍스트에 관리되는 상태.em.persist(member)를 호출하면 member 객체는.. 2024. 7. 19. 인프런 JPA 2화 생성,삭제,수정 "김영한 강사" -PlusUltraCode- ## JPA의 트랜잭션 관리JPA의 모든 활동은 트랜잭션이 반드시 필요합니다. 트랜잭션 없이 아래와 같은 코드를 실행해봤자 무의미합니다.```javapublic class JpaMain { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); Member2 member2 = new Member2(); member2.setId(1L); member2.setName("dongho"); em.pe.. 2024. 7. 19. 인프런 김영한의 JPA 1화 JPA Transactional 처리와 성능JPA에서 트랜잭션 내에서 엔티티를 조회하는 방법에 대해 설명하겠습니다.Member m1 = jpa.find(memberID);jpa.find(memberID)는 데이터베이스에 SQL 쿼리를 실행하여 Member 엔티티를 조회합니다. 이때 SQL 쿼리가 실행되고 결과가 반환됩니다.Member m2 = ~~~;트랜잭션 내에서 동일한 memberID로 두 번째 조회를 할 경우, JPA는 이미 첫 번째 조회 시에 가져온 Member 엔티티를 캐시에 저장합니다. 두 번째 조회는 SQL 쿼리를 실행하지 않고, JPA의 1차 캐시에서 데이터를 반환합니다.따라서 m1 == m2는 true가 됩니다. 이는 동일한 트랜잭션 내에서 동일한 엔티티를 조회했기 때문입니다.트랜잭션 커.. 2024. 7. 18. 게시판 만들기 chapter 1 .gitignore 운영체제에 맞게 쓰고 싶으면 https://www.toptal.com/developers/gitignore 여기로 들어가서 제외목록 넣기 코드를 복사후 -> EOF 관련해서 맨 밑줄 한칸 띄우고 맨 윗줄 공백 없애기 @EnableJpaAuditing @Configuration public class JpaConfig { @Bean public AuditorAware auditorAware(){ return () -> Optional.of("uno"); //Todo 스프링 시큐리티로 인증 기능을 붙이게 될 때 } } @CreatedDate private LocalDateTime createdAt; @CreatedBy priva.. 2024. 7. 11. 이전 1 2 3 4 5 6 7 다음