我使用以下方法使用Spring Data JPA进行查询。
findByUpdatedGreaterThanAndFromEmailOrToEmailInOrderByUpdatedAsc(final long updated, final String email, final String to);
由于OR条件,查询始终通过。
我的意图是findBy( UpdatedGreaterThan )和( FromEmailOrToEmailIn )OrderByUpdatedAsc
无论如何都要在Spring Data JPA中做同样的事情。
答案 0 :(得分:1)
您可以使用@Query注释手动制作一个mongodb query,以正确执行搜索条件的逻辑。
类似的东西(我将订购部分留给您):
@Query(
"{ $and : [ { 'updated' : { $gt: '?0'} }," +
"{ $or : [ { 'email' : '?1' }, { 'to' : '?2' } ] }")
findByUpdatedGreaterThanAndFromEmailOrToEmailInOrderByUpdatedAsc(final long updated, final String email, final String to);
其中?0,?1,?2是findBy方法参数的占位符。