我尝试使用此查询从数据库中选择序列ID:
@Query("select max(pi.sequence) + 1 from ProductImage pi where pi.product = :product")
int nextSequenceForProduct(@Param("product")Product product);
它很有效,除非表中没有值,它会从JPA代码中抛出某种类型的空值异常。
有没有办法在spring jpa中处理null值?比如像这样的SQL:
select ifnull(max(pi.sequence),1) from ....
答案 0 :(得分:0)
您可以使用nvl()函数并将查询更改为本机查询或命名本机查询以避免异常
@NativeQuery("select nvl(max(pi.sequence),0) + 1 from ProductImage pi where pi.product = :product")