2011-02-02 1 views
0

私はテーブルを持っていますアップロードされたファイルをブロブとして保存し、その他の重要なファイル情報も保存するをアップロードします。それは私のJavaアプリケーションでHibernate - Blobバイト配列のないファイルのリスト

file_id INT 
file_mime VARCHAR 
file_size INT 
file BYTE[] 
... 

などの明白なフィールドを持っている私は、モデルクラスアップロードにこれをマッピングしました。私は、ファイル

List<Uploads>. 

のリストを取得するために自分のアプリケーションからの私のDAOを呼び出すときに私は解決しようとしている問題は、私がは、結果セット内のファイルのバイト[]配列のブロブを含めたくないんです。

サーブレットを使用してファイルを提供し、画像を表示するので、実際のファイルバイト[]配列は結果セットには必要ありません。

アップロードテーブルでselect文を実行しようとしましたが、結果セットからファイルbyte []を除外すると、ファイルフィールドがないためリストにキャストできません。

アップロードテーブルをクエリしてリストを返すにはどうすればすべてのファイルフィールドがnullに設定されますか?

答えて

2

バイト[]フィールドに@Basic(fetch = FetchType.LAZY)とマークすることができます。 getterが呼び出されたときにのみロードされます。

http://download.oracle.com/javaee/5/api/javax/persistence/Basic.html#fetch()

+0

素晴らしいが、http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html/entity.html#([Hibernateのドキュメント]によると – medium

+0

@partenonありがとうエンティティマッピングプロパティ)には、コンパイル時のバイトコード計測が必要です。 – axtavt

関連する問題