[英]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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.