Ich habe Probleme, eine JPA-Abfrage zu schreiben, die beim Filtern durch ein Zeichenfolgenfeld die Nullwerte und die Fallempfindlichkeit korrekt behandelt. Ich habe eine Abfrage, die nach Bestellungen sucht, die auf mehreren Kriterien basieren, einschließlich des Bestellstatus. Ich brauche die Status-Lookup, um von Fall unempfindlich zu sein, aber ich brauche auch die Abfrage, um alle Bestellungen zurückzugeben, wenn der Statusparameter null ist. < /P>
Hier ist meine aktuelle JPA-Abfrage:
@Query("SELECT o FROM OrderEcom o WHERE o.remove = false and o.orderNumber is not null and o.client.id = :clientId and o.createDate between :dateIn " +
"and :dateEnd and (:subscriptionId is NULL or o.subscriptionId = :subscriptionId) and (:orderOrigin is NULL or o.orderOrigin = :orderOrigin) " +
"and (:externalReferenceValue is NULL or o.externalReferenceValue = :externalReferenceValue) " +
"and ((:status is NULL) or (lower(o.status) = lower(:status)))")
Page findAllByClientAndCreateDate(@Param("clientId") Long clientId, Pageable pageable,
@Param("dateIn") Date dateIn,
@Param("dateEnd") Date dateEnd,
@Param("subscriptionId") Long subscriptionId,
@Param("orderOrigin") Integer orderOrigin,
@Param("externalReferenceValue") String externalReferenceValue,
@Param("status") String status);
< /code>
Das [url=viewtopic.php?t=20324]Problem[/url] ist, dass, wenn: der Status null ist, die Funktion lower () weiterERROR: function lower(bytea) does not exist
Dica: No function matches the given name and argument types. You might need to add explicit type casts.
Posição: 4564
< /code>
Ich habe versucht, die Koalesce -Funktion zu verwenden, um den Fehler zu vermeiden, wenn: der Status null ist, aber ich habe immer noch Probleme. < /p>
@Query("SELECT o FROM OrderEcom o WHERE o.remove = false and o.orderNumber is not null and o.client.id = :clientId and o.createDate between :dateIn " +
"and :dateEnd and (:subscriptionId is NULL or o.subscriptionId = :subscriptionId) and (:orderOrigin is NULL or o.orderOrigin = :orderOrigin) " +
"and (:externalReferenceValue is NULL or o.externalReferenceValue = :externalReferenceValue) " +
"and ((:status is NULL) or (lower(coalesce(o.status, '')) = lower(coalesce(:status, ''))))")
Page findAllByClientAndCreateDate(@Param("clientId") Long clientId, Pageable pageable,
@Param("dateIn") Date dateIn,
@Param("dateEnd") Date dateEnd,
@Param("subscriptionId") Long subscriptionId,
@Param("orderOrigin") Integer orderOrigin,
@Param("externalReferenceValue") String externalReferenceValue,
@Param("status") String status);
Ich habe Probleme, eine JPA-Abfrage zu schreiben, die beim Filtern durch ein Zeichenfolgenfeld die Nullwerte und die Fallempfindlichkeit korrekt behandelt. Ich habe eine Abfrage, die nach Bestellungen sucht, die auf mehreren Kriterien basieren, einschließlich des Bestellstatus. Ich brauche die Status-Lookup, um von Fall unempfindlich zu sein, aber ich brauche auch die Abfrage, um alle Bestellungen zurückzugeben, wenn der Statusparameter null ist. < /P> Hier ist meine aktuelle JPA-Abfrage:[code]@Query("SELECT o FROM OrderEcom o WHERE o.remove = false and o.orderNumber is not null and o.client.id = :clientId and o.createDate between :dateIn " + "and :dateEnd and (:subscriptionId is NULL or o.subscriptionId = :subscriptionId) and (:orderOrigin is NULL or o.orderOrigin = :orderOrigin) " + "and (:externalReferenceValue is NULL or o.externalReferenceValue = :externalReferenceValue) " + "and ((:status is NULL) or (lower(o.status) = lower(:status)))") Page findAllByClientAndCreateDate(@Param("clientId") Long clientId, Pageable pageable, @Param("dateIn") Date dateIn, @Param("dateEnd") Date dateEnd, @Param("subscriptionId") Long subscriptionId, @Param("orderOrigin") Integer orderOrigin, @Param("externalReferenceValue") String externalReferenceValue, @Param("status") String status); < /code> Das [url=viewtopic.php?t=20324]Problem[/url] ist, dass, wenn: der Status null ist, die Funktion lower () weiterERROR: function lower(bytea) does not exist Dica: No function matches the given name and argument types. You might need to add explicit type casts. Posição: 4564 < /code> Ich habe versucht, die Koalesce -Funktion zu verwenden, um den Fehler zu vermeiden, wenn: der Status null ist, aber ich habe immer noch Probleme. < /p> @Query("SELECT o FROM OrderEcom o WHERE o.remove = false and o.orderNumber is not null and o.client.id = :clientId and o.createDate between :dateIn " + "and :dateEnd and (:subscriptionId is NULL or o.subscriptionId = :subscriptionId) and (:orderOrigin is NULL or o.orderOrigin = :orderOrigin) " + "and (:externalReferenceValue is NULL or o.externalReferenceValue = :externalReferenceValue) " + "and ((:status is NULL) or (lower(coalesce(o.status, '')) = lower(coalesce(:status, ''))))") Page findAllByClientAndCreateDate(@Param("clientId") Long clientId, Pageable pageable, @Param("dateIn") Date dateIn, @Param("dateEnd") Date dateEnd, @Param("subscriptionId") Long subscriptionId, @Param("orderOrigin") Integer orderOrigin, @Param("externalReferenceValue") String externalReferenceValue, @Param("status") String status); [/code]
Ich habe ein Stück Code, das in EF Core 2.2 verwendet wird, um das String-Gehäuse zu vergleichen, wie unten gezeigt. public async Task DoesItemNumberExists(Guid revisionId, string itemNumber)
{
var...
Ich möchte die Funktion array_overlaps () in einer JPA -Abfrage verwenden, ohne explizit auf eine native Abfrage zurückzugreifen.
@Query(value =
SELECT view FROM FilterView view
WHERE (:selectedIds...
Ich habe den folgenden (über vereinbaren) Code, der einen gewerkschaftlichen zwischen zwei Tabellen unter Verwendung von Kriterien -API durchführt und eine Projektion abruft, die durch projectiondto...