zoukankan      html  css  js  c++  java
  • JPA简介

    JPA的学习

    JPA是Java Persistence API的简称,中文名Java持久层API。是Java EE5.0平台中Sun为了统一持久层ORM框架而制定的一套标准,注意是一套标准,而不是具体实现,不可能单独存在,需要有其实现产品。Sun挺擅长制定标准的,例如JDBC就是为了统一连接数据库而制定的标准,而我们使用的数据库驱动就是其实现产品。JPA的实现产品有HIbernate,TopLink,OpenJPA等等。值得说一下的是Hibernate的作者直接参与了JPA的制定,所以JPA中的一些东西可以与Hibernate相对比。

    JPA特点:

    • JPA可以使用xml和注解映射源数据,JPA推荐使用注解来开发。
    • 它有JPQL语言也是面向对象的查询语言,和hql比较类似。

    JPA对象关系映射

     

     

    映射方向

    映射方向可分为两个部分: -

    • 单向关系 - 在这种关系中,只有一个实体可以将属性引用到另一个实体。它仅包含一个侧面,由于指定如何更新可以在数据库中进行。
    • 双向关系 - 这种关系包含两边 - 既包含一个侧面,也包含另一个侧面。 所以这里每个实体都有一个关系字段或将该属性引用到其他实体。

    映射类型

    以下是各种ORM映射类型 -

    • 一对一 - 此关联由@OneToOne注释表示。在这里,每个实体的实例与另一个实体的单个实例相关。
    • 一对多 - 此关联由@OneToMany注释表示。 在这种关系中,一个实体的实例可以与另一个实体的多个实例相关联。
    • 多对一 - 此映射由@ManyToOne注释定义。 在这种关系中,一个实体的多个实例可以与另一个实体的单个实例相关联。
    • 多对多 - 此关联由@ManyToMany注释表示。 在这种关系中,一个实体的多个实例可能与另一个实体的多个实例有关。 在这个映射中,任何一方都可以成为所有者方

    实体属性

    这些是对象必须具有的实体的属性 -

    • 持久性 - 如果一个对象存储在数据库中并且可以随时访问,则该对象称为持久性。
    • 持久性标识 - 在Java中,每个实体都是唯一的,并表示为对象标识。 同样,当对象标识存储在数据库中时,它被表示为持久性标识。 该对象标识等同于数据库中的主键。
    • 事务性 - 实体可以执行各种操作,例如:创建,删除,更新。 每个操作都会对数据库进行一些更改。它确保无论数据库中的任何更改是原子级成功还是失败。
    • 粒度 - 实体不应该是基元,原始包装或具有单维状态的内置对象。

    实体元数据

    每个实体都与一些代表它的信息的元数据相关联。 这个元数据不是数据库,而是存在于类内部或外部。 此元数据可以采用以下形式 -

    • 注解 - 在Java中,注解是表示元数据的标签形式。 这个元数据保存在类中。
    • XML - 在此形式中,元数据在XML文件的类外部保存。
  • 相关阅读:
    11. Container With Most Water
    9. Palindrome Number
    375. 猜数字大小 II leetcode java
    leetcode 72 编辑距离 JAVA
    73. 矩阵置零 leetcode JAVA
    快速排序 JAVA实现
    63. 不同路径 II leetcode JAVA
    重写(override)与重载(overload)
    62 不同路径 leetcode JAVA
    leetcode 56 合并区间 JAVA
  • 原文地址:https://www.cnblogs.com/tanlei-sxs/p/10245597.html
Copyright © 2011-2022 走看看