sql—使用自定义SpringJPA存储库查询空表时会发生什么

njthzxwz  于 2021-07-26  发布在  Java
关注(0)|答案(3)|浏览(321)

表格结构如下:
文件名
文件类型
文件大小
已创建\u数据
查询是:

@Query("Select f.fileSize from FileEntity e where f.fileType =:fileType 
order by f.createdDate limit 1")
Long findFileSize(@Param("fileType") String fileType);

这是一个查询,返回数据库中存储的最新文件的文件大小。
如果表为空,则此查询将返回什么。它将返回默认值long还是抛出异常?

yb3bgrhw

yb3bgrhw1#

如果表没有行,那么查询将不返回任何行。如果有行和 where 子句将它们全部过滤掉。
如果尝试访问结果集中的值而不首先检查行是否存在,则可能会出错。

w8biq8rn

w8biq8rn2#

它将返回null。因此,可以使用长 Package 类来存储值。

sd2nnvve

sd2nnvve3#

它将返回null,但您可以使用下面提到的方法coalesce:coalesce(f.filesize,0)
这将用0初始化大小,如果表为空,将得到0而不是null。

相关问题