0
私は、次のリポジトリのコードを持っている:春データJPAカスタム条件@query SQLで
@Query("SELECT " + FIELDS + " FROM Session ssn WHERE "
+ "(ssn.startDate BETWEEN :startDate AND :endDate) AND endDate IS
:closed ? NOT : '' NULL ")
List<Session> findByDateAndStatus(@Param("startDate)Date startDate,@Param("endDate")Date endDate,@Param("closed")Boolean closed);
このコードは動作しません。私は、このクエリが閉じられたセッションを取得するか、提供されたブール値のパラメータに基づいてセッションを開けたがっています。
"AND endDate IS :closed ? NOT : '' NULL "
カスタムブール値パラメータに基づいてHQL文字列を作成したいとします。どうやってするか?
。クエリは何をすべきですか? –
ありがとうございます。このクエスチョンは、booleanパラメータに基づいて開かれたセッションまたは閉じられたセッションをフェッチする必要があります。 – avalon
私はあなたがこの醜いブール引数の代わりに2つのクエリを持つべきであるという気持ちがあります。実際には単一のクエリが必要な場合は、((:closed = trueおよびssn.endateがnullでない)または(:closed = falseおよびssn.enddateがnull)) ' –