在JPA的@Query注解中使用limit条件
来源:互联网 发布:怎么开淘宝外包公司 编辑:程序博客网 时间:2024/05/14 09:12
在@Query注解注释的JPQL语句中写limit语句是会报错的
unexpected token :limit near line ....
解决方法是讲@Query注解中的limit语句去掉,然后传一个Pageable pageable=new PageRequest(offset,limit)进去
示例代码:
controller
import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestController@RequestMapping(value = "/misaka")public class MisakaController{ @Autowired private MisakaService misakaService; @RequestMapping(value = "/list") public List<Misaka> getBaselineOverview() { return misakaService.getMisaka(); }}
service
import java.util.List;public interface MisakaService{ List<Misaka> getMisaka();}
serviceimpl
import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.domain.Page;import org.springframework.data.domain.PageRequest;import org.springframework.data.domain.Pageable;import org.springframework.data.domain.Sort.Direction;import org.springframework.stereotype.Service;@Servicepublic class MisakaServiceImpl implements MisakaService{ @Autowired private MisakaDao misakaDao; @Override public List<Misaka> getMisaka() { Pageable pageable = new PageRequest(1, 2, Direction.ASC, "name"); Page<Misaka> misakaPage = misakaDao.search(pageable); List<Misaka> misakaList = misakaPage.getContent(); System.out.println(misakaList); return misakaList; }}
dao
import org.springframework.data.domain.Page;import org.springframework.data.domain.Pageable;import org.springframework.data.jpa.repository.Query;import org.springframework.data.repository.CrudRepository;public interface MisakaDao extends CrudRepository<Misaka, Long>{ @Query("SELECT m FROM Misaka m WHERE m.id>4") Page<Misaka> search(Pageable pageable);}
model
import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;@Entity@Table(name = "t_test")public class Misaka{ @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @Column(name = "name") private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Misaka [id=" + id + ", name=" + name + "]"; }}
数据库t_test
输出
Hibernate: select count(misaka0_.id) as col_0_0_ from t_test misaka0_ where misaka0_.id>4Hibernate: select misaka0_.id as id1_29_, misaka0_.name as name2_29_ from t_test misaka0_ where misaka0_.id>4 order by misaka0_.name asc limit ?, ?[Misaka [id=7, name=m7], Misaka [id=8, name=m8]]
0 0
- 在JPA的@Query注解中使用limit条件
- spring data jpa @Query注解中delete语句报错 : @Modifying注解的使用
- 使用JPA中@Query 注解实现update 操作
- @Query注解的用法(Spring Data JPA)
- @Query注解的用法(Spring Data JPA)
- @Query注解的用法(Spring Data JPA)
- @Query注解的用法(Spring Data JPA)
- @Query注解的用法(Spring Data JPA)
- yii框架中findall方法取数据使用总结,包括select各种条件,where条件,order by条件,limit限制以及使用单纯sql语句query时占位符的使用等
- spring data jpa @Query注解中delete语句报错
- spring-data-jpa @Query注解中delete语句报错
- Spring Data JPA 使用@Query注解执行原始Sql
- SpringData JPA @query注解使用原生代码报错问题
- JPA 中注解的作用
- 使用JPA 注解的Hibernate
- JPA学习 注解的使用
- JPA中@JoinTable和@JoinColumn注解的使用
- Hibernate中使用JPA注解@OneToMany的cascade级联标签
- 1055. The World's Richest (25)
- 旋转屏幕导致Activity重建问题的解决办法
- ebs Virtual Host
- 成绩排序
- 人为什么而活?
- 在JPA的@Query注解中使用limit条件
- 解决TextView排版自动换行问题
- 一个比较简单的D触发器4分频verilog程序
- 数学问题
- 重大漏洞在线监测(先知)
- Maven中的DependencyManagement和Dependencies区别
- EL表达式详解
- android :物理键盘被按下onKeyDown方法
- C#双链表