1.11

2017-06-29 4 views
0

私は、私がしている試してみました春のブートJPAとMySQLのクエリで働いている 、アプリケーションで最大の最初のレコードが必要1.11

@Query("select d from Table where d.StatusType=:StatusType and d.tableNumber< :cuurentTableNumber ORDER BY d.tableNumber DESC LIMIT 1",nativeQuery = true) 
    Draw findTop1ByOrderByDrawNumberDesc(@Param("StatusType") Table.StatusType StatusType, @Param("tableNumber")int cuurentTableNumber); 


@Query("select d from Table d where d.StatusType=:StatusTypeand d.tableNumber<:cuurentTableNumber") 
    Draw findTop1ByOrderByDrawNumberDesc(@Param("StatusType") Table.StatusType StatusType, @Param("tableNumber")int cuurentTableNumber , Pageable pageable); 

そして他の試練も、 何も何度も働いていないので、複数のレコードが見つかりました。そして、私は最大で現在の数よりも少ない一つのレコードしか必要としません。

LIMITはJPAと連動しないので、その1つを使用できません。

これを達成する方法は誰にも分かりません。私は、次の作業を実行して、それを達成

+0

可能な複製JPA 2.0で?](https://stackoverflow.com/questions/16348354/how-do-i-write-a-max-query-with-a-where-clause-in-jpa-2-0) – Flown

+0

I JPA 1.11を使用していますが、findFirstByOrderByTableNumberDesc関数を使用可能にするにはどうすればいいのでしょうか? – tyro

答えて

0

@Query("select d from Table d where " + 
     "d.tableNumber <> :tableNumber " + 
     "and (" + 
     "(d.statusType = :statusType) " + 
     ") ORDER BY d.TableNumber desc") 
Iterable<Table> findPreviousNumber(@Param("tableNumber") int tableNumber, 
           @Param("statusType") statusType closeStatusType); 

それでも、これは関数は、FindFirst /トップで動作していない理由をそこに見ていきます

私はwhere句とMAXのクエリを記述するにはどうすればよい[の
関連する問題