Spring 및 Hibernate의 지연 로딩 Blob 필드
데이터베이스 테이블에서 대규모 바이너리 데이터(BLOB)를 처리할 때는 이를 최적화하는 것이 중요합니다. 성능 문제와 메모리 소비를 방지하기 위한 검색입니다. 한 가지 접근 방식은 필요할 때만 데이터를 검색할 수 있는 지연 로딩을 사용하는 것입니다. 그러나 이 기술은 때때로 Hibernate 및 Spring에서 문제를 일으킬 수 있습니다.
귀하의 상황에서는 데이터베이스, Spring Bean 및 엔터티 클래스를 다음과 같이 구성했습니다.
데이터베이스 구성 (관련 부분):
엔티티 클래스(관련 주석):
@Lob
@Basic(fetch = FetchType.LAZY)
@Column(name = "BlobField", columnDefinition = "LONGBLOB")
@Type(type = "org.springframework.orm.hibernate3.support.BlobByteArrayType")
private byte[] blobField;
blobField를 지연으로 표시했음에도 불구하고 많은 양의 데이터를 검색할 때 OutOfMemoryError가 발생합니다. 이는 지연 로딩 메커니즘이 예상대로 작동하지 않음을 의미합니다.
문서 및 사용자 경험을 바탕으로 BLOB의 지연 로딩에 영향을 줄 수 있는 몇 가지 요소는 다음과 같습니다.
문제를 해결하려면 다음 단계를 고려하세요.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3