본문 바로가기

Hibernate2

Hibernate(JPA) 영속성 (persistence) Hibernate(JPA) 영속성 (persistence) JPA/ Hibernate 를 사용할때 대부분 생명주기를 모른상태에서 개발을 하다보면 실수? 혹은 왜 이렇게 되지 하는 경우를 겪게 된다. 알고 있더라도 왜이러지 이럴때가 있다! 어? 왜이렇게 동작하지 하고 말이다. 1. Entity life sycle (엔티티생명주기) 비영속(new/transient) 영속성 컨텍스트와 전혀 관련이 없는 상태 영속 (managed) 영속성 컨덱스트에 저장된 상태 준영속 (detached) 영속성 컨텍스트에 저장되었다가 분리된 상태 삭제(removed) 삭제된상태 1.1 비영속성(new) 앞서 이야기 했듯이 영속성 컨텍스트와 전혀 관련이 없는 상태로 엔티티를 새로 생성한 단계이다. MemberEntity memb.. 2022. 4. 22.
JPA Hibernate Bulk Save , Multi save Hibernate 특징 Hibernate는 새로이 삽입 된 모든 Customer인스턴스를 세션 레벨1 cache에 캐시 하므로 트랜잭션이 끝나면 100000 개의 엔티티가 영속 컨텍스트에 의해 관리됩니다. JVM에 할당 된 최대 메모리가 다소 적 으면이 예제는에서 실패 할 수 OutOfMemoryException있습니다. Java 1.8 JVM은 사용 가능한 RAM의 1/4 또는 1Gb를 할당하여 힙에 100,000 개의 객체를 쉽게 수용 할 수 있습니다. 장기 실행 트랜잭션은 연결 풀을 고갈시켜 다른 트랜잭션이 처리 할 기회를 얻을 수 없습니다. JDBC 일괄 처리는 기본적으로 활성화되어 있지 않으므로 모든 삽입 문에는 데이터베이스 왕복이 필요합니다. JDBC 배치를 사용하려면 hibernate.jdb.. 2019. 1. 3.