此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Data JPA 3.5.2spring-doc.cadn.net.cn

开始

引导设置工作环境的一种简单方法是通过 start.spring.io 创建基于 Spring 的项目或在 Spring Tools 中创建 Spring 项目。spring-doc.cadn.net.cn

示例存储库

GitHub spring-data-examples 存储库托管了几个示例,您可以下载并尝试使用这些示例来了解库的工作原理。spring-doc.cadn.net.cn

世界您好

让我们从一个简单的实体及其相应的存储库开始:spring-doc.cadn.net.cn

@Entity
class Person {

  @Id @GeneratedValue(strategy = GenerationType.AUTO)
  private Long id;
  private String name;

  // getters and setters omitted for brevity
}

interface PersonRepository extends Repository<Person, Long> {

  Person save(Person person);

  Optional<Person> findById(long id);
}

创建要运行的主应用程序,如以下示例所示:spring-doc.cadn.net.cn

@SpringBootApplication
public class DemoApplication {

  public static void main(String[] args) {
    SpringApplication.run(DemoApplication.class, args);
  }

  @Bean
  CommandLineRunner runner(PersonRepository repository) {
    return args -> {

      Person person = new Person();
      person.setName("John");

      repository.save(person);
      Person saved = repository.findById(person.getId()).orElseThrow(NoSuchElementException::new);
    };
  }
}

即使在这个简单的例子中,也有几点值得注意的事项需要指出:spring-doc.cadn.net.cn

  • 存储库实例是自动实现的。 当用作参数时@Bean方法,这些方法将自动连接,无需进一步注释。spring-doc.cadn.net.cn

  • 基本存储库扩展Repository. 我们建议考虑要向应用程序公开多少 API 表面。 更复杂的存储库接口是ListCrudRepositoryJpaRepository.spring-doc.cadn.net.cn