JPA的详解及使用方法

1.什么是JPA?

用于对象持久化的API

JPA规范:JPA本质是一种ORM规范,不是ORM框架,因为JPA并为提供ORM实现,他只是订制一些规范,提供一些编程的API的接口
Hibernate是实现:Hibernate除了作为ORM框架以外,它是一种JPA实现
功能上说:JPA是Hibernate功能的一个子集
2.JPA优势:
标准化;简单易用,集成方便;可以媲美JDBC的查询能力;支持面向对象的高级特性
3.JPA三方面的技术:
ORM映射元数据;JPA的API;查询语句(JPQL)
4.使用JPA持久化对象的步骤:
创建perisistence.xml文件,在配置文件中配置持久化单元(需要跟那个数据库进行交互,使用那个持久化框架以及配置框架的基本属性)
创建实体类,使用annotation来描述实体类跟数据表之间的映射关系

使用JPA API完成数据CRUD操作

5.JPA 的基本注解:
@Entity :指出该Java类为实体类,将映射到指定的数据库
@Transient :忽略该属性,不需要映射到数据表的一列,否则默认为@Basic
@Temporal :在属性上调整精度,比如Date
@Table :标注常用name属性,用于指定数据库的表明
@Id :映射主键(放在getter方法之前)
@GeneratedValue :用于标注主键的生成策略,通过strategy属性指定
@Column :映射数据表的列名,指定unique,length等
@Basic :基本注解,默认有
6.JPA   API:
Persistence:Persistence类用于获取EntityManagerFactory实列,该类包含一个名为createEntityManagerFactory的静态方法  
EntityManagerFactory:主要用来创建EntityManager实列 createEntityManager();创建实体管理对象的实例。close():关闭EntityManagerFactory
refresh() ;clear() ; isOpen() ; close() ;
EntityTransaction:接口用来管理资源层实体管理器的事务操作。 getTransaction();获得其实例
begin() ; commit() ; rollback() ; setRollbackOnly() ; getRollbackOnly() ; isActive() ;

7.映射关系:
单向多对一:使用@ManyToOne来映射多对一关系映射;使用@JoinColumn来映射外键;建议先保存1的一端,后保存n的一端;可以使用@ManyToOne的fetch来修改默 认的关联属性的加载策略
单向一对多:使用@OneToMany来映射一对多关系映射;使用@JoinColumn来映射外键;
双向一对一:使用@OneToOne来映射一对一对应关系映射;建议先保存不维护关联关系的一方,既没有外键的一方,
双向多对多:使用@ManyToMany来映射多对多关系映射;使用@JoinTable来映射中间表;name:指定外键的列名;rederenedColumnName:指定外键列关联的当期表 的那一列;inverseJoinColumns:映射关联的类所在中间表的外键

8.Spring整合JPA:

LocalContainerEntityManagerFactoryBean:





  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值