【发布时间】:2014-11-03 19:02:26
【问题描述】:
我正在尝试使用此查询从数据库中选择一个序列 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 ....
【问题讨论】:
-
您是否尝试过类似的方法:
"select case when (pi.sequence is null) then 1 else (max(pi.sequence) + 1) end from ProductImage pi where pi.product = :product"?
标签: spring jpa spring-data-jpa