这很简单,但我不知道如何解决它。 我想在查询参数“empresaId”为 NULL 时选择所有记录,而不是像现在没有选择任何记录。也就是说当“empresaId”为null时就好像存在这样的条件。
@Query("select paquete from Paquete paquete where paquete.empresa.id =:empresaId")
Page<Paquete> advancedSearch(@Param("empresaId") Long empresaId, Pageable pageable);
有人可以帮助我吗? 非常感谢。
最佳答案
在这种情况下,简单的方法是添加一个 or
条件检查参数是否为 null,因此在这种情况下它将返回 true 并且将获取所有行。
@Query("select paquete from Paquete paquete where paquete.empresa.id =:empresaId or :empresaId is null")
如果有更多动态条件,您可以查看 Query By Example它允许动态查询创建。
关于java - @Query 不运行空条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40023935/