具有多个参数的Spring数据JPA可能为null

时间:2015-12-30 06:50:00

标签: spring spring-data-jpa

我正在使用Spring JPA数据存储库来形成对可能/可能不为null的参数数量的查询。

我使用以下存储库类来基于这三个参数进行查询。 employee,startDate和endDate

@NamedQuery(name = "EmployeeReport.findByEmployeeAndDateFilter", query = "SELECT e FROM employee_report e WHERE e.employee="
        + "?1" + " and e.date >=" + "?2" + " and e.date<=" + "?3")

以下是命名查询:

{{1}}

但问题是这些参数可能为null,在这种情况下我的查询将失败。你是怎么做到这一点的。一种解决方案可以是创建多个查询以促进空条件的每个组合,但这不是决定性的。有什么建议可以使用吗?

1 个答案:

答案 0 :(得分:0)

在这种情况下,我建议您放弃接口存储库并使用JavaEE EntityManager创建自定义存储库。

您可以在存储库中处理许多情况。 例如在你的情况下,只需添加一个if子句就可以处理null参数。 而且,为了进一步使用,您可以在其中添加排序顺序。

希望这可以帮到你。