美文网首页Java从入门到放弃
Spring Data JPA(待完善)

Spring Data JPA(待完善)

作者: Deque | 来源:发表于2019-07-25 18:50 被阅读0次

什么是JPA

  • JAP(Java Presistance API) 是用于Java EE 和 Java SE 环境中的持久化,以及对象/关系映射(ORM)的Java API

  • JPA 的实现:Hibernate、EclipseLink、Apache OpenJPA ...

JPA 核心概念

实体

  • 实体表示关系数据库中的表
  • 每个实体实例对应于该表的行
  • 类必须用javax.persistence.Entity注解
  • 类必须有一个publicprotected的无参的构造函数
  • 实体实例被当中值以分离对象方式进行传递(例如通过会话bean的远程业务接口),则该类必须实现Serializable接口
  • 唯一的对象标识符:简单主键(javax.persistence.Id)、复合主键(javax.persistence.EmbeddedIdjavax.persistence.IdClass

关系

  • 一对一:@OneToOne
  • 一对多:@OneToMany
  • 多对一:@ManyToOne
  • 多对多:@ManyToMany

EntityManager:管理实体的类(接口)

EntityManager 接口

  • 定义用于持久性上下文进行交互的方法
  • 创建和删除持久实体实例,通过实体主键查找实体
  • 允许在实体上允许查询

获取 EntityManager 实例

@PersistenceUnit
EntityManagerFactory emf;
EntityManager em;
@Resource
UserTransaction utx;  //事务开启
...
em = emf.createEntityManager();
try{
      utx.begin();
      em.persist(SomeEntity);
      em.merge(AnotherEntity);
      em.remove(ThirdeNtity);
      utx.commit();  //提交事务
} catch (Exception e){
      utx.rollback();  //回滚事务
}

查找实体

B/B/N/÷

相关文章

网友评论

    本文标题:Spring Data JPA(待完善)

    本文链接:https://www.haomeiwen.com/subject/dnlkrctx.html