JPA(Java Persistence api)是标准的 Java API,它为访问和持久数据对象提供了一组接口。JPA 是 JPA 工作组的结果由工作组组决定 Sun Microsystems(现为 oracle)与其他公司组成。JPA 于 2006 年 12 月发布,已成为 Java Persistence API 实现标准标准。
JPA 框架提供了以下主要特点:
- 对象-关系映射(ORM)
- 事务管理
- 查询
JPA ORM 将数据库映射 Java 对象,这样你就可以使用标准 Java API 来操作数据库数据。JPA 事务管理允许您原子处理多个数据库的操作。JPA 查询允许您使用标准 sql 或 JPQL(JPA 查询语言)查询数据库数据。
以下是在 spring 在应用程序中使用 JPA 一些示例代码:
// 导入 JPA 依赖 import javax.persistence.*; // 定义实体类 @Entity public class Person { @Id @GeneratedValue(strategy=GenerationType.AUTO) private Long id; @Column(name="first_name") private String firstName; @Column(name="last_name") private String lastName; // 省略其它属性和方法 } // 定义仓库接口 public interface PersonRepository extends JpaRepository<Person, Long> { // 省略自定义方法 } // 定义服务类 public class PersonService { @Autowired private PersonRepository personRepository; public Person save(Person person) { return personRepository.save(person); } public Person findById(Long id) { return personRepository.findById(id).orElse(null); } // 省略其他方法 }
JPA 以外にも、Spring 其他可用于应用程序的流行持久框架包括:
- Hibernate
- mybatis
- TopLink
所有这些框架都有自己的优点和缺点。您需要根据自己的具体需要选择合适的框架。
结论
JPA 是标准的 Java API,它为访问和持久数据对象提供了一组接口。JPA 是 JPA 工作组的结果由工作组组决定 Sun Microsystems(现为 Oracle)与其他公司组成。JPA 于 2006 年 12 月发布,已成为 Java Persistence API 实现标准化标准。
JPA 框架提供了以下主要特点:
- 对象-关系映射(ORM)
- 事务管理
- 查询
