Spring/🌵 JPA

해당 수업은 김영한님의 JPA 수업을 통해 작성되었으며 약간의 저의 생각이나 추가적으로 제가 궁금했던 내용을 더 적었다는 사실을 밝힙니다. 💡 플러시(flush) 영속성 컨텍스트의 변경 내용을 DB에 반영하는 작업이다. 플러시 발생한다면 Dirty Checking 변경 감지를 한다 수정된 엔티티 쓰기 지연 SQL 저장소에 등록한다 쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송한다. 영속성 컨텍스트를 플러시하는 방법 em.flush() - 직접 작성을 통해 호출한다 만약 이렇게 작성하게 된다면 System.out.println이 반영되기 이전에 현재 쓰기 지연 SQL 저장소에 있는 내용들이 DB에 반영이 된다. 하지만 쓰기 지연 SQL 저장소에 있는 쿼리문이 사라지진않는다. 트랜잭션 커밋 - com..
해당 수업은 김영한님의 JPA 수업을 통해 작성되었으며 약간의 저의 생각이나 추가적으로 제가 궁금했던 내용을 더 적었다는 사실을 밝힙니다. 💡 영속성 컨텍스트 "엔티티를 영구 저장하는 환경"이라는 뜻으로 JPA를 이해하는데 가장 중요한 용어이다. 우리가 알고있는 persist메소드는 DB에 저장하는 것이 아닌 Entity 영속성 컨텍스트라는 곳에 저장을 하는 것이다. 영속성 컨텍스트는 논리적인 개념으로 눈에 보이지 않는다는 것이다. 또한 EntityManager로 영속성 컨텍스트에 접촉하는 것이다. 엔티티의 생명 주기 비영속(new / transient) 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 객체를 생성한 경우 Member member = new Member(); member.setId("me..
해당 수업은 김영한님의 JPA 수업을 통해 작성되었으며 약간의 저의 생각이나 추가적으로 제가 궁금했던 내용을 더 적었다는 사실을 밝힙니다. 💡 JPA의 구동 방식 이번 수업은 Spring을 사용하지 않는 과정입니다. 때문에 boot로 편하게 진행할 수 있는 부분을 굳이 작성하는 것을 이해해주세요 Persistence.xml DB 설정 정보를 작성한다 EntityManagerFactory 애플리케이션에서 단 한번만 생성하고 전체에서 공유한다 이때 Unit-name을 꼭 맞춰주어야 한다. EntityManager DB 커넥션 풀과 같은 기능을 지니고 있는 것이다. DB와 밀접한 관계가 있기때문에 Thread 간 공유가 안되고 사용이 끝나면 꼭 close()를 해주어야 한다 ★ JPA의 모든 데이터 변경은 트..
💡 JPA란? Java Persistence API의 줄임말이다. 또한 JPA는 자바 진영의 ORM 기술 표준이다. https://latewalk.tistory.com/160 💾 ORM이란? ORM(Object relational mapping) 이란? 객체와 관계형 데이터 베이스의 데이터를 자동으로 매핑해주는 것을 말한다. 객체 지향 프로그래밍은 클래스를 사용하고 관계형 데이터베이스는 테이블을 사용한 latewalk.tistory.com 💡 우리는 왜 JPA를 사용해야 할까? 1. ORM으로 인한 SQL 중심적인 개발에서 객체 중심의 개발로 변경 2. 생상성이 좋아진다 SQL로는 길게 작성해야 하는 로직이 매우 간단해진다. 저장 : jpa.persist(member) 조회 : Member member ..
늦은산책
'Spring/🌵 JPA' 카테고리의 글 목록