@Query不运行null条件

时间:2016-10-13 14:32:50

标签: java java-ee spring-data-jpa jpql

这很简单,但我无法弄清楚如何修复它。 我想在查询参数“empresaId”为NULL时选择所有记录,而不是现在没有选择记录。那就是当“empresaId”为空时就好像有这样的条件。

   @Query("select paquete from Paquete paquete where paquete.empresa.id =:empresaId")
   Page<Paquete> advancedSearch(@Param("empresaId") Long empresaId, Pageable pageable);

有人可以帮助我吗? 非常感谢你。

1 个答案:

答案 0 :(得分:1)

在这种情况下,简单的方法是添加or条件,检查param是否为null,所以在这种情况下它将返回true并且将获取所有行。

@Query("select paquete from Paquete paquete where paquete.empresa.id =:empresaId or :empresaId is null")

如果有更多动态条件,您可以查看允许动态查询创建的Query By Example