簡體   English   中英

Spring Data 和 Native Query with Sorting

[英]Spring Data and Native Query with Sorting

在 web 項目中,使用 spring-data(1.10.4.RELEASE) 和 Oracle 數據庫,我嘗試使用帶有 Sort 變量的本機查詢。

public interface UserRepository extends JpaRepository<User, Long> {
  @Query(nativeQuery = true,value = "SELECT * FROM USERS WHERE LASTNAME = :lastname #sort")
  List<User> findByLastname(@Param("lastname") String lastname, Sort sort);
}

啟動的查詢是:

SELECT * FROM USERS WHERE LASTNAME = 'Lorite' #sort ORDER BY LASTNAME

就像您可以看到注釋“#sort”仍然存在一樣。

我已經嘗試了帶有分頁的 Spring Data 和 Native Query,但注釋還在那里,並且使用另一種語法,如 ?#{#sort} 或 {#sort} 問題仍然存在。

什么都歡迎。

謝謝!

文檔說:

請注意,我們目前不支持對本機查詢執行動態排序,因為我們必須操作聲明的實際查詢,而我們無法對本機 SQL 可靠地執行此操作。

此外,這個#sort 插值不存在

[1] http://docs.spring.io/spring-data/jpa/docs/current/reference/html/

public interface UserRepository extends JpaRepository<User, Long> {

  @Query(value = "SELECT * FROM USERS WHERE LASTNAME = ?1",
    countQuery = "SELECT count(*) FROM USERS WHERE LASTNAME = ?1",
    nativeQuery = true)
  Page<User> findByLastname(String lastname, Pageable pageable);
}

示例 64. 使用 @Query 在查詢方法中聲明用於分頁的本機計數查詢

使用 Spring Data JPA 的本機查詢

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM