使用CrudRepository限制1

时间:2013-02-05 08:04:17

标签: java mysql spring limit crud

我希望只有最后插入的MyTable只有一个结果。 我把LIMIT 1LIMIT 0,1放了,但我有两个结果。 它引发了一个例外。 我能怎么做? 我在mysql DB上使用org.springframework.data.repository.CrudRepository

    @Query("select t from  MyTable t " +
        " where " +
        "  t.date <= :date " +
        " order by t.date desc " +
        " LIMIT 1  ")   
 MyTable findOnlyTheLast(
        @Param("date") String date);

1 个答案:

答案 0 :(得分:1)

尝试在where子句中添加条件,该子句选择满足条件的最大日期。

@Query("select t from  MyTable t " +
        " where " +
        "  t.date <= :date " +
        " and t.date = (select max(tt.date) from MyTable tt where tt.date <= :date)" +
        " order by t.date desc")