美文网首页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