2016-04-07 39 views
0

我正在使用下面的方法來使用Spring Data JPA進行查詢。我可以結合AND和OR條件

findByUpdatedGreaterThanAndFromEmailOrToEmailInOrderByUpdatedAsc(final long updated, final String email, final String to); 

由於OR條件,查詢總是通過。

我的目的是findBy(UpdatedGreaterThan)和(FromEmailOrToEmailIn)OrderByUpdatedAsc

反正有做同樣的春季數據JPA。

回答

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方法參數佔位符???

+0

也一樣。希望方法名稱有一些相同的語法。 @choda謝謝。 – unnik

相關問題