春季数据 jpa.如果没有结果返回默认值,则查找最大值

2022-09-01 22:52:00

我已经在我的spring存储库界面中实现了:

@Query("SELECT max(ch.id) FROM MyEntity ch")
Long getMaxId();

如果 db 不为空,则它可以正常工作。如果我使用测试配置(使用 H2DB)启动我的环境 - 一开始就没有数据。返回的结果为。我想在这里有0getMaxId()


是否可以修改我的结果为 0?如果是,应如何修改?*JpaRepository


答案 1

你可以使用这样的:coalesce

@Query("SELECT coalesce(max(ch.id), 0) FROM MyEntity ch")
Long getMaxId();

如果没有数据,它将返回 0 而不是 null。


答案 2

推荐