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