我有一个命名查询,下面是可选参数,它是flightNumber,departureAirport和arrivalAirport。但是当我没有给这些参数赋予任何值时,这个查询就不起作用。带有可选参数的命名查询不能在mysql中工作
@Query("from CapacityMonitor
where carrierCode = :carrierCode and
(:flightNumber IS NULL OR flightNumber = :flightNumber) and
(:departureAirport IS NULL OR departureAirport = :departureAirport) and
(:arrivalAirport IS NULL OR arrivalAirport = :arrivalAirport)
我可以改变一个查询,但我有@Query批注仅
'IS NULL'不会为您节省任何值:) –
但在其他文章中,这是他们为可选参数提供的解决方案。 – Ankit
当然,它是解决方案的50%,但您必须将该参数设置为“null”。在我的答案中解释过,'null是null'返回'true'的基础。 –