[英]How to fetch length of a blob field with JPQL?
我有一個JPA實體,其中有一個Blob字段。 我想編寫一個JPQL查詢來獲取實體的Blob的長度(我不想將Blob加載到內存中)。
例如,在Oracle中,我可以使用以下SQL查詢:
SELECT length(blob_field) FROM my_table WHERE id = ?
如何使用JPQL獲取Blob的長度?
你不能。 JPQL長度函數計算字符串中的字符數,而blob中的字節數不適合該定義。
但是,您可以將長度用於保存為CLOB(char / Characters數組或String作為Java類型)的屬性。
//can use length function for CLOBs:
@Lob char[] a;
@Lob Character b;
@Lob String c;
//can not use length function for BLOBs:
@Lob byte[] d;
@Lob Byte e;
@Lob Serializable f;
如果使用EclipseLink,則可以使用JPQL中的“ FUNC”函數來定義數據庫函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.