Framework/JPA

·Framework/JPA
준영속은 영속 상태의 엔티티가 영속성 컨텍스트에서 분리된 것을 준영속 상태라고 한다. 따라서 준영속 상태의 엔티티는 영속성 컨텍스트가 제공하는 기능을 사용할 수 없다. 영속상태를 준영속 상태로 만드는 방법 영속상태를 준영속으로 만드는 방법은 3가지이다. em.detach(entity) : 특정 엔티티만 준영속 상태로 전환한다. em.clear() : 영속성 컨텍스트를 완전히 초기화한다. em.close() : 영속성 컨텍스트를 종료한다. 엔티티를 준영속 상태로 전환: detach() public void testDetached() { ... //회원 엔티티 생성, 비영속 상태 Member memberA = new Member(); memberA.setId("memberA"); //회원 엔티티 영속 상태 ..
·Framework/JPA
플러시(flush)는 영속성 컨텍스트의 변경내용을 데이터베이스에 반영하는 것을 말한다. 플러시가 발생하면 다음과 같은 일이 발생되게 된다. 변경 감지가 동작하여 영속성 컨텍스트에 있는 모든 엔티티의 스냅샷과 비교하여 수정된 엔티티를 찾는다. 수정된 엔티티는 수정 쿼리를 만들어 쓰기 지연 SQL 저장소에 등록한다. 쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송한다. (등록, 수정, 삭제 쿼리) 영속성 컨텍스트를 플러시 하는 방법 직접호출 엔티티 매니저의 flush() 메소드를 직접 호출해서 영속성 컨텍스트를 강제로 플러시한다. 테스트나 다른 프레임워크와 JPA를 함께 쓰는 경우를 제외하고 거의 사용되지 않는다. 트랜잭션 커밋 시 플러시 자동 호출 트랜잭션을 커밋하지 않으면 데이터베이스에 SQL이 전..
·Framework/JPA
2024.03.12 - [Framework/JPA] - [JPA] 영속성 컨텍스트 [JPA] 영속성 컨텍스트 JPA에서 가장 중요한 두 가지는 객체와 관계형 데이터베이스 매핑과 영속성 컨텍스트이다. 영속성 컨텍스트를 알면 JPA가 내부적으로 어떻게 동작하는지에 대한 이해를 할 수 있게 된다. 엔티티 jh7722.tistory.com 이전 포스팅에서는 영속성 컨텍스트의 기본 개념에 대해 알아봤다. 이번에 특징을 알아보자. 영속성 컨텍스트의 특징 영속성 컨텍스트의 특징은 다음과 같다. 영속성 컨텍스트와 식별자 값 영속성 컨텍스트는 엔티티를 식별자 값(@Id로 매핑된 값)으로 구분한다. 따라서 영속 상태는 식별자 값이 반드시 있어야 한다. 영속성 컨텍스트와 데이터베이스 저장 JPA는 보통 영속성 컨텍스트에 새..
·Framework/JPA
JPA에서 가장 중요한 두 가지는 객체와 관계형 데이터베이스 매핑과 영속성 컨텍스트이다. 영속성 컨텍스트를 알면 JPA가 내부적으로 어떻게 동작하는지에 대한 이해를 할 수 있게 된다. 엔티티 매니저 팩토리와 엔티티 매니저 영속성 컨텍스트를 알기 전에 먼저 엔티티 매니저팩토리와 엔티티 매니저를 알아야 할 필요가 있다. 엔티티 매니저 팩토리는 이름 그래도 엔티티 매니저를 만드는 공장이다. 공장을 하나 만드는데 시간적 소요가 크듯이 엔티티 매니저 팩토리도 생성 비용이 크다. 따라서 한 개만 만들어 애플리케이션 전체 공유한다. 반면에 엔티티 매니저를 생성하는 것은 비용이 크지 않다. (거의 들지 않는다고 표현) 주의할 점은 엔티티 매니저 팩토리는 여러 스레드 동시 접근해도 안전하므로 공유해도 상관없지만 (스레드..
·Framework/JPA
2024.03.11 - [Knowledge/개발지식] - [개발지식] 객체와 관계형 데이터베이스와의 차이 with JPA [개발지식] 객체와 관계형 데이터베이스와의 차이 with JPA 2023.11.10 - [Knowledge/개발지식] - [스진초 5기/개발지식] DDD 설계와 SQL 중심 설계 [스진초 5기/개발지식] DDD 설계와 SQL 중심 설계 오늘의 주제는 DDD 설계이다. DDD 설계는 워낙 요즘 많이 사용하고 팀프 jh7722.tistory.com 이전 포스팅에서 관계형 데이터베이스를 객체지향적으로 모델링식 발생할 수 있는 문제를 알아봤다. 자바진영에서 그러한 문제를 해결할 수 있는 ORM인 JPA에 대해 본격적으로 공부하기 전에 JPA가 무엇인지 알아보자. JPA 란 무엇일까? 1. J..
JH_DEV77
'Framework/JPA' 카테고리의 글 목록 (2 Page)