2012-03-16 6 views
1

データベースから読み込んだファイル名のリストとそのサイズを表示したいのですが、BLOBの値を読み込んだ場合、クエリは非常に遅いです。それを読まずにブロブのサイズを計算する方法は?BLOBの内容を読まずにBLOBのサイズを取得する方法は?

私はEclipseLinkを使用しています。

+0

をFUNCを使用しますが、できJPQLはLENGTHをサポートしていますので、これもJPQL、

Select LENGTH(o.blobField) from MyObject o 

で動作するはずです別のフィールドにブロブのサイズを格納することをお勧めします。 –

答えて

1

JPQLにはこのような機能はありません。また、ネイティブクエリでどのように処理されるかは、おそらくデータベースによって決まります。少なくともMySQLとOracleの次作品で:

SELECT LENGTH(blob_field) FROM table_name; 

あなたはJPQLを使用する場合は、LENGTH関数は、文字の種類に制限されているので、BLOBには適用されません。もちろん、それを動作させる永続化プロバイダ拡張が存在することもあります。

+0

+1。 JPAでは、ネイティブ問合せは避けられません。 –

0

そうでなければあなたはいつも私は、私見あなたがミッコは、以下の提案何ができる、JPQLで

Select FUNC('LENGTH', o.blobField) from MyObject o 
関連する問題