我有一个 JPA 实体,其中有一个 blob 字段。我想编写一个 JPQL 查询来获取实体 blob 的长度(我不想将 blob 加载到内存中)。
例如,在 Oracle 中,我可以使用以下 SQL 查询:
SELECT length(blob_field) FROM my_table WHERE id = ?
如何使用 JPQL 获取 blob 的长度?
最佳答案
你不能。 JPQL 长度函数计算字符串中的字符数,而 blob 中的字节数不符合该定义。
但是,您可以对作为 CLOB(字符/字符数组或 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;
关于java - 如何使用 JPQL 获取 blob 字段的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7702510/