データベースから読み込んだファイル名のリストとそのサイズを表示したいのですが、BLOBの値を読み込んだ場合、クエリは非常に遅いです。それを読まずにブロブのサイズを計算する方法は?BLOBの内容を読まずにBLOBのサイズを取得する方法は?
私はEclipseLinkを使用しています。
データベースから読み込んだファイル名のリストとそのサイズを表示したいのですが、BLOBの値を読み込んだ場合、クエリは非常に遅いです。それを読まずにブロブのサイズを計算する方法は?BLOBの内容を読まずにBLOBのサイズを取得する方法は?
私はEclipseLinkを使用しています。
JPQLにはこのような機能はありません。また、ネイティブクエリでどのように処理されるかは、おそらくデータベースによって決まります。少なくともMySQLとOracleの次作品で:
SELECT LENGTH(blob_field) FROM table_name;
あなたはJPQLを使用する場合は、LENGTH
関数は、文字の種類に制限されているので、BLOB
には適用されません。もちろん、それを動作させる永続化プロバイダ拡張が存在することもあります。
+1。 JPAでは、ネイティブ問合せは避けられません。 –
そうでなければあなたはいつも私は、私見あなたがミッコは、以下の提案何ができる、JPQLで
Select FUNC('LENGTH', o.blobField) from MyObject o
をFUNCを使用しますが、できJPQLはLENGTHをサポートしていますので、これもJPQL、
で動作するはずです別のフィールドにブロブのサイズを格納することをお勧めします。 –