1

画像をデータベースに保存する必要があるので、それに対応するためにテーブルのデザインを決めました。テーブルのデザインは

FILE_ID INT,
FILE_NAME VARCHAR(200),
FILE_CONTENTS BLOB.

Oracleデータベースを使用しています。Oracleは最大2GBのストレージのBLOBをサポートしていると思います。JPAプロバイダーとしてHibernateを使用しています。モデルクラスにはHibernateアノテーションが付けられ、blobフィールドはbyte [](バイト配列タイプ)になります。画像サイズが数メガバイトの場合、Hibernateはコンテンツをメモリに取り込むことができます。コンテンツのサイズがjvmのサイズよりも大きい場合、Hibernateはコンテンツをメモリに取り込むためにどのように機能しますか?

4

2 に答える 2

2

byteこれらの目的でアレイを使用しないでください。SQLBlobタイプを使用し、を使用して操作しstreamsます。

于 2013-01-25T07:32:48.650 に答える
1

プルする場所に十分なメモリがないため、Hibernateはコンテンツをメモリにプルできません。OutOfMemoryExceptionが発生します。

于 2013-01-25T07:26:58.603 に答える