Spring 数据 jpa。如果没有结果则查找最大值 return 默认值
Spring data jpa. Find max if no result return default value
我已经在我的 spring 存储库接口中实现了:
@Query("SELECT max(ch.id) FROM MyEntity ch")
Long getMaxId();
如果数据库不为空,它可以正常工作。如果我使用测试配置(使用 H2DB)启动我的环境 - 一开始就没有数据。 getMaxId()
返回的结果是null。我想在这里 0.
是否可以修改我的 *JpaRepository
以获得 0 结果?如果是,应该如何修改?
您可以像这样使用 coalesce
:
@Query("SELECT coalesce(max(ch.id), 0) FROM MyEntity ch")
Long getMaxId();
如果没有数据,它将 return 0 而不是 null。
我已经在我的 spring 存储库接口中实现了:
@Query("SELECT max(ch.id) FROM MyEntity ch")
Long getMaxId();
如果数据库不为空,它可以正常工作。如果我使用测试配置(使用 H2DB)启动我的环境 - 一开始就没有数据。 getMaxId()
返回的结果是null。我想在这里 0.
是否可以修改我的 *JpaRepository
以获得 0 结果?如果是,应该如何修改?
您可以像这样使用 coalesce
:
@Query("SELECT coalesce(max(ch.id), 0) FROM MyEntity ch")
Long getMaxId();
如果没有数据,它将 return 0 而不是 null。