29.3.2 Spring Data JPA仓库

Spring Data JPA仓库是可以定义用于访问数据的接口。JPA的查询是根据方法名称自动创建的。例如,CityRepository接口可能会定义一个findAllByState(String state)方法来查找某个州的全部城市。

对于更复杂的查询,您可以使用Spring Data的Query对方法进行注解。

Spring Data仓库通常扩展自RepositoryCrudRepository接口。如果使用了自动配置,将从包含主配置类(一个被@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的皮毛。细节请查阅其参考文档


书籍推荐