Spring data jpa指南
Spring data jpa指南
引自
Spring Data JPA Tutorial(https://www.petrikainulainen.net/spring-data-jpa-tutorial/)
正文
通常来说,我们使用JPA去实现我们的DAO(data access object)层,需要花费大量的时间,一般而言,我们会使用下面的步骤:
创建一个抽象的DAO类,去提供针对entity的通用CRUD操作,这个类在我的项目里通常被叫做BaseDao、AbstractDAO偶尔也被叫做CommonDao。 创建一个具体的实现类,去继承这个抽象的DAO类,然后编写具体的行为。 大概的实现方式如下:
- BaseDao 接口定义
- BaseDao Hibernate抽象实现类
- 某业务Dao的接口定义
- 某业务Dao的接口实现
说实话,这样很麻烦,我们依然要写很多代码去实现我们的数据库查询和调用。更坑爹的是,每次我们在创建新的数据库查询的时候,我们都不得不干一遍上面的事情,太浪费时间了。 Spring Data JPA则是来解决这个问题的。
Spring Data JPA指南介绍
本系列文章包含如下内容:
-
Spring Data JPA Tutorial: 简单介绍了Spring Data JPA是什么,并且提供了一个Spring Data repository interfaces的摘要.
-
Spring Data JPA Tutorial:介绍了如何获取或管理Spring Data JPA的dependencies. -Spring Data JPA Tutorial: 使用Spring Data JPA and Hibernate配置一个Spring应用的持久化层.
-
Spring Data JPA Tutorial:创建一个Spring Data JPA repository,并且针对一个简单的实体提供CRUD操作.
-
Spring Data JPA Tutorial: 简单的介绍了查询的方法、查询的返回类型和查询方法的参数传递。
-
Spring Data JPA Tutorial: 使用方法名创建数据库的查询。
-
Spring Data JPA Tutorial: 使用@Query注解进行查询。
-
Spring Data JPA Tutorial: 使用Named Queries创建查询。
-
Spring Data JPA Tutorial: 使用JPA Criteria API创建动态查询。
-
Spring Data JPA Tutorial: 使用Querydsl创建查询。
-
Spring Data JPA Tutorial: 对查询结果进行排序。
-
Spring Data JPA Tutorial: 对查询结果进行分页。
-
Spring Data JPA Tutorial: 审计,对实体的创建时间和修改时间进行审计。
-
Spring Data JPA Tutorial: 审计,对操作人和其行为进行审计。
-
Spring Data JPA Tutorial: 在单个Repository中添加定制方法。
-
Spring Data JPA Tutorial: 对所有repositories添加通用定制方法。
-
Spring Data JPA Tutorial:对Spring Data JPA repositories进行集成测试。
下面是原作者以前的 Spring Data JPA 指南,使用Spring Data JPA 1.2.0:
-
Spring Data JPA Tutorial, Part Three: 为repository interfaces添加定制查询。
-
Spring Data JPA Tutorial, Part Nine: 评估Spring Data JPA的有效性,提出一些建议。
-
Spring Data JPA Tutorial: 在包含子项目的 Maven Project中使用Querydsl 。
恭喜,如果你看完上面的内容,你将会在使用Spring data jpa完成DAO层工作中,变得更加简单、快捷和有趣。
找个项目开始下手吧。
如果你想了解更多:
- 本文原作者写的Spring Data book 。
- Spring Data Solr Tutorial Spring Data Solr指南。
- Using jOOQ with Spring 帮你控制你的 SQL。
一些其他的资源:
这个章节将会描述一些针对于这个领域的有用资源。
Java Persistence API
Reference Manuals and Official Guides
Blog Posts
- Dynamic, typesafe queries in JPA 2.0
- JPA Criteria API by samples – Part-I
- JPA Criteria API by samples – Part-II
- JPA 2 Criteria API Tutorial
- JPA Pagination
Videos
- JPA: Embedding Embeddables within Entities
- JPA: One to One Uni/Bi Directional Relationship Tutorial
- JPA: One to Many Relationship
- JPA: Mapping a Many To Many Relationship
- JPA: Self Referencing Relationships
- JPA: Inheritance with @MappedSuperclass
- Inheritance with @Inheritance
- JPA: @Inheritance with Table Per Class
- JPQL: The Basics of the Java Persistence Query Language
- JPA / JPQL: Intermediate Queries with @NamedQuery
- Criteria API Introduction
Spring Data JPA
Reference Manuals and Official Guides
- Spring Data JPA Reference Manual
- Spring Data JPA API
- Spring Data REST Reference Manual
- Spring Data REST API
- Getting started with Spring Data JPA
- Advanced Spring Data JPA – Specifications and Querydsl
- Accessing Data with JPA
- Accessing JPA Data with REST
Blog Posts
- Distributed transactions with multiple databases, Spring Boot, Spring Data JPA and Atomikos
- Spring Data repositories with multiple databases
- The Persistence Layer with Spring Data JPA
- Spring JPA Data + Hibernate + MySQL + MAVEN
- Spring Data JPA with QueryDSL: Repositories made easy
- Spring Data REST in Action
- Spring MVC 3.2 with Spring Data REST (part 1)
- Spring MVC 3.2 with Spring Data REST (part 2)
- Spring boot and spring data jpa tutorial (part 1 / 2)
- Spring boot and spring data jpa tutorial (part 2 / 2)
Videos
- An Introduction to Spring Data
- Spring Data Repositories – A Deep Dive
- An Introduction to Spring Data JPA
- Spring Data JPA Configuration Tutorial
- Configuring Spring Data with a MySQL Database
- Spring Data JPA: Defining Query Methods on Repositories
- Spring Data REST: Easily export JPA entities directly to the web
- Spring Data Repositories – Best Practices
- Integration Testing of Spring Data JPA Repositories
备注
原文作者简介:
Petri Kainulainen is passionate about software development and continuous improvement. He is specialized in software development with the Spring Framework and is the author of Spring Data book.
声明:
这里并不是原文100%的翻译,而是追加了个人的一些想法和补充,原文地址在本文最上方,请自行判断阅读哪一个版本。
浙公网安备 33010602011771号