Hibernate 데이터 로드 방식
<set name="address"
table="t_address"
inverse="true"
cascade="none"
sort="unsorted"
lazy="false">
<key column="user_id">
</key>
<one-to-many class="com.hpjianhua.hibernate.Address"/>
</set>
즉시 불 러 오 는 기본 원리: 숙주 실체 (관련 주체) 를 불 러 올 때 Hibernate 는 관련 데 이 터 를 자동 으로 읽 고 관련 속성 을 채 웁 니 다. 지연 불 러 오기 (Lazy Loading) 설정 은 다음 과 같 습 니 다.
<set name="address"
table="t_address"
inverse="true"
cascade="none"
sort="unsorted"
lazy="true">
<key column="user_id">
</key>
<one-to-many class="com.hpjianhua.hibernate.Address"/>
</set>
미리 불 러 오기 (Eager Loading) 미리 불 러 오 는 것 은 outer - join 을 통 해 관련 데 이 터 를 불 러 오 는 것 입 니 다. 그러면 하나의 SQL 문 구 를 통 해 실체 와 관련 데이터 의 읽 기 작업 을 완성 할 수 있 습 니 다. 실시 간 으로 읽 는 두 개, 심지어 여러 개의 SQL 에 비해 이러한 메커니즘 은 성에 있어 더 많은 향상 을 가 져 올 수 있 습 니 다. 일괄 불 러 오기 (Batch Loading) 를 대량으로 불 러 옵 니 다. 쉽게 말 하면...여러 한정 조건 을 일괄 제출 하여 한 번 에 여러 데이터 의 읽 기 를 완료 하 는 것 입 니 다. 예 를 들 어 다음 형식의 SQL: Select from User where id = 1;Select from User where id=3; 우 리 는 SQL 문 구 를 통합 하여 같은 기능 을 완성 할 수 있 습 니 다. Select from User where id = 1 or id = 3; 이것 이 바로 일괄 로 딩 메커니즘 입 니 다. 일괄 로 딩 메커니즘 을 사용 하면 Hibernate 는 데이터 조회 작업 을 하기 전에 현재 Session 에서 같은 유형의 로 딩 할 데이터 가 있 는 지 자동 으로 찾 습 니 다. 있 으 면 현재 selection 구문 에 검색 조건 을 합 쳐 제출 합 니 다. 이렇게 하면,데이터베이스 작업 을 통 해 여러 읽 기 작업 을 수행 할 수 있 습 니 다. 실체 설정 의 class 노드 에서, 우 리 는 batch - size 매개 변 수 를 통 해 대량 불 러 오 는 메커니즘 을 열 수 있 으 며, 매번 대량 불 러 오 는 수량 을 제한 할 수 있 습 니 다. < class name = "User" table = "t user" batch - size = "5" > 일반적으로, batch - size 는 합 리 적 인 소형 수치 (< 10) 로 설정 해 야 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
깊이 중첩된 객체를 정확히 일치 검색 - PostgreSQL목차 * 🚀 * 🎯 * 🏁 * 🙏 JSON 객체 예시 따라서 우리의 현재 목표는 "고용주"사용자가 입력한 검색어(이 경우에는 '요리')를 얻고 이 용어와 정확히 일치하는 모든 사용자 프로필을 찾는 것입니다. 즐거운 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.