jpa多表关联分页条件查询
时间: 2023-11-21 16:50:27 浏览: 204
可以使用JPA的@ManyToOne或@OneToMany注解来实现多表关联,然后使用Spring Data JPA提供的PagingAndSortingRepository接口,结合自定义查询方法和分页参数,来实现多表关联分页条件查询。
例如,假设有两个实体类Book和Author,Book类中有一个属性authorId表示作者id,那么可以在Book类中添加@ManyToOne注解:
```
@Entity
public class Book{
@Id
private Long id;
private String name;
@ManyToOne
@JoinColumn(name="author_id")
private Author author;
//getter and setter
}
```
然后在Author类中添加@OneToMany注解:
```
@Entity
public class Author{
@Id
private Long id;
private String name;
@OneToMany(mappedBy="author")
private List<Book> books;
//getter and setter
}
```
最后,在自定义的Repository接口中定义查询方法,并使用Pageable传入分页参数:
```
public interface BookRepository extends PagingAndSortingRepository<Book, Long> {
Page<Book> findByAuthorName(String authorName, Pageable pageable);
}
```
上述方法将返回按照作者名字查询的分页结果。
阅读全文