Spring数据jpa。如果没有结果返回默认值,则查找max

时间:2017-06-23 14:22:16

标签: java spring spring-data-jpa hql

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

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

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

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

1 个答案:

答案 0 :(得分:27)

您可以使用coalesce之类的:

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

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