JPA的基本概念
1、1 实体(Entity)
实体是具有唯一标识符的对象,它是JPA中最基本的数据模型,实体类通常包含属性(Attribute)和关联(Association),属性表示实体的特征,关联表示实体之间的联系。
1、2 持久化单元(Persistence Unit)
持久化单元是JPA的一个配置概念,它是一组相关实体类的集合,一个项目可以有一个或多个持久化单元,每个持久化单元对应一个数据库连接,通过配置持久化单元,可以将实体类映射到不同的数据库表。
1、3 存储库(Repository)
存储库是JPA提供的一个接口,它定义了一组通用的数据库操作方法,开发人员可以通过实现存储库接口,为实体类提供自定义的数据库操作方法。
JPA的核心技术
2、1 注解(Annotation)
JPA使用注解来配置实体类、属性和关联关系,常用的注解有:
@Entity:标注一个类为实体类;
@Table:指定实体类对应的数据库表名;
@Id:标注属性为主键;
@GeneratedValue:指定主键生成策略;
@Column:指定属性对应的数据库列名;
@OneToOne、@OneToMany、@ManyToOne、@ManyToMany:标注属性为一对一、一对多、多对一或多对多关联关系。
2、2 事务管理(Transaction Management)
JPA支持声明式事务和编程式事务两种事务管理方式,声明式事务通过在XML配置文件中定义事务管理器和事务规则,或者在注解中使用@Transactional注解来实现,编程式事务则需要开发人员手动编写事务代码。
2、3 查询语言(Query Language)
JPA支持多种查询语言,如HQL(Hibernate Query Language)、JPQL(Java Persistence Query Language)等,这些查询语言基于SQL语法,可以方便地对数据库进行查询、更新和删除操作。