Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jpa 如何在不读取BLOB的情况下获取BLOB的大小';什么内容?_Jpa_Blob_Eclipselink - Fatal编程技术网

Jpa 如何在不读取BLOB的情况下获取BLOB的大小';什么内容?

Jpa 如何在不读取BLOB的情况下获取BLOB的大小';什么内容?,jpa,blob,eclipselink,Jpa,Blob,Eclipselink,我想显示从数据库读取的文件名及其大小的列表,但是如果我读取blob的值,查询会非常慢。如何在不阅读的情况下计算水滴的大小 我正在使用EclipseLink。在JPQL中没有这样的工具。如何使用本机查询也可能取决于数据库。至少在MySQL和Oracle中,以下工作是: SELECT LENGTH(blob_field) FROM table_name; 如果使用JPQL,LENGTH函数仅限于字符类型,因此它不适用于BLOB。当然,可以使用持久性提供程序扩展来实现它。JPQL支持长度,因此这在J

我想显示从数据库读取的文件名及其大小的列表,但是如果我读取blob的值,查询会非常慢。如何在不阅读的情况下计算水滴的大小


我正在使用EclipseLink。

在JPQL中没有这样的工具。如何使用本机查询也可能取决于数据库。至少在MySQL和Oracle中,以下工作是:

SELECT LENGTH(blob_field) FROM table_name;

如果使用JPQL,
LENGTH
函数仅限于字符类型,因此它不适用于
BLOB
。当然,可以使用持久性提供程序扩展来实现它。

JPQL支持长度,因此这在JPQL中也应该适用

Select LENGTH(o.blobField) from MyObject o
否则,您可以在JPQL中始终使用FUNC

Select FUNC('LENGTH', o.blobField) from MyObject o

你可以按照Mikko下面的建议去做,但是imho,我认为将水滴大小存储在单独的字段中是一个更好的主意。