Spring Data JPA仓库是可以定义用于访问数据的接口。JPA的查询是根据方法名称自动创建的。例如,CityRepository
接口可能会定义一个findAllByState(String state)
方法来查找某个州的全部城市。
对于更复杂的查询,您可以使用Spring Data的Query
对方法进行注解。
Spring Data仓库通常扩展自Repository
或CrudRepository
接口。如果使用了自动配置,将从包含主配置类(一个被@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的皮毛。细节请查阅其参考文档。