Sql @查询注释以筛选数据
我在下面的声明中面临这个问题Sql @查询注释以筛选数据,sql,spring-boot,spring-data-jpa,Sql,Spring Boot,Spring Data Jpa,我在下面的声明中面临这个问题 `SELECT b FROM com.development.searchbooks.dto.BooksEntity b WHERE lower(b.title) LIKE ?1 OR lower(b.author_name) LIKE ?1 OR lower(b.publication) LIKE ?1 ORDER BY title ASC LIMIT 10 OFFSET ?2` 意外标记:第173列第1行附近的限制 这是我用来根据关键字和顺序进
`SELECT b
FROM com.development.searchbooks.dto.BooksEntity b
WHERE lower(b.title) LIKE ?1
OR lower(b.author_name) LIKE ?1
OR lower(b.publication) LIKE ?1
ORDER BY title ASC LIMIT 10 OFFSET ?2`
意外标记:第173列第1行附近的限制
这是我用来根据关键字和顺序进行升序和分页筛选的查询。在这个POC中添加“限制10偏移量?2”后,我立即得到错误
请对此给予帮助。jpa/jpql不考虑限制关键字。 因此,对于@Query使用LIMIT,我们可以使本机查询标志为true
( using - nativeQuery=true )
下面是一个例子
@Query("SELECT s FROM Table s ORDER BY s.id DESC LIMIT 1", nativeQuery=true)
我的问题的最终答案
@Query(value = "SELECT * FROM books WHERE lower(title) LIKE %?1% OR lower(author_name) LIKE %?1% OR lower(publication) LIKE %?1% ORDER BY title ASC LIMIT 10 OFFSET ?2", nativeQuery = true)
是否将正确的值传递给
?2
?如何调用上面的SQL语句。您可以从日志中检查它在数据库中触发的SQL吗?检查这是否有助于“是”传递初始时间为10的偏移量值