Select top 1 result using JPA

后端 未结 4 1293
孤独总比滥情好
孤独总比滥情好 2020-12-03 00:49

I need to bring from DB only one single result. How can I do that with JPA?

Select top 1 * from table

I tried

\"sel

相关标签:
4条回答
  • 2020-12-03 01:06

    The easiest way is by using @Query with NativeQuery option like below:

    @Query(value="SELECT 1 * FROM table ORDER BY anyField DESC LIMIT 1", nativeQuery = true)
    
    0 讨论(0)
  • 2020-12-03 01:11

    Use a native SQL query by specifying a @NamedNativeQuery annotation on the entity class, or by using the EntityManager.createNativeQuery method. You will need to specify the type of the ResultSet using an appropriate class, or use a ResultSet mapping.

    0 讨论(0)
  • 2020-12-03 01:13

    Try like this

    String sql = "SELECT t FROM table t";
    Query query = em.createQuery(sql);
    query.setFirstResult(firstPosition);
    query.setMaxResults(numberOfRecords);
    List result = query.getResultList();
    

    It should work

    UPDATE*

    You can also try like this

    query.setMaxResults(1).getResultList();
    
    0 讨论(0)
  • 2020-12-03 01:14

    To use getSingleResult on a TypedQuery you can use

    query.setFirstResult(0);
    query.setMaxResults(1);
    result = query.getSingleResult();
    
    0 讨论(0)
提交回复
热议问题