博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JPA简介
阅读量:6875 次
发布时间:2019-06-26

本文共 1166 字,大约阅读时间需要 3 分钟。

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映射类型 -

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

 

实体属性

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

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

 

实体元数据

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

  • 注解 - 在Java中,注解是表示元数据的标签形式。 这个元数据保存在类中。
  • XML - 在此形式中,元数据在XML文件的类外部保存。

 

转载于:https://www.cnblogs.com/tanlei-sxs/p/10245597.html

你可能感兴趣的文章
ZooKeeper和CAP理论及一致性原则
查看>>
LDAP Admin:开源的Windows LDAP管理工具
查看>>
yii 学习笔记十六、数据分页
查看>>
Keepalived+Lvs---初级安装
查看>>
我的友情链接
查看>>
MVC与MVP模式设计
查看>>
Linux虚拟机里面安装VMware Tools增强工具
查看>>
iOS 获取手机型号,系统版本
查看>>
yii上传图片、yii上传文件、yii控件activeFileField使用
查看>>
DevExpress:条形码显示控件BarCodeControl
查看>>
Eclipse中用于CodeTemplate的变量总结
查看>>
一个技术高手的博客,看了不要错过
查看>>
Cocos2d-x--Box2D使用GLES-Render.h渲染查看刚体
查看>>
图片阴影效果和影子效果
查看>>
windows7引导故障的解决
查看>>
妹子与汉子——引用与指针的区别(1)
查看>>
我的友情链接
查看>>
python Day 4 :员工信息表/ATM+购物车/计算器
查看>>
LNMP 配置NGINX 支持THINKPHP PATHINFO模式
查看>>
Ubuntu 下让sublime-text3支持中文输入法
查看>>