29.3.2. Spring Data JPA仓库
Spring Data JPA仓库(repositories)是用来定义访问数据的接口。根据你的方法名,JPA查询会被自动创建,比如,一个CityRepository
接口可能声明一个findAllByState(String state)
方法,用来查找给定状态的所有城市。
对于比较复杂的查询,你可以使用Spring Data的Query
注解你的方法。
Spring Data仓库通常继承自Repository
或CrudRepository
接口。如果你使用自动配置,Spring Boot会搜索主配置类(注解@EnableAutoConfiguration
或@SpringBootApplication
的类)所在包下的仓库。
下面是典型的Spring Data仓库:
package com.example.myapp.domain;
import org.springframework.data.domain.*;
import org.springframework.data.repository.*;
public interface CityRepository extends Repository<City, Long> {
Page<City> findAll(Pageable pageable);
City findByNameAndCountryAllIgnoringCase(String name, String country);
}
注:我们仅仅触及了Spring Data JPA的表面,具体查看它的参考指南。