信息工程学院本科生课程JPA进阶.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息工程学院本科生课程JPA进阶.ppt

* 信息工程学院本科生课程 JPA进阶 一对一关系使用@PrimaryKeyJoinColumn 两个表采用相同主键关联 一对一关系使用@PrimaryKeyJoinColumn(2) * 信息工程学院本科生课程 JPA进阶 关联的实体之间 采用主键关联 userId userId 一对一关系使用@JoinColumn * 信息工程学院本科生课程 JPA进阶 两个表采用外键关联 一对一关系使用@JoinColumn(2) * 信息工程学院本科生课程 JPA进阶 关联的实体之间 采用外键关联 billingInfo.billingId billingId 一对多采用@OneToMany标注,而多对一则采用@ManyToOne标注。且此二者成对出现。 通常采用外键来表示该实体关系,此时@OneToMany或@ManyToOne配合@JoinColumn来描述。当然也可以采用关联表的表示方法,此时@OneToMany或@ManyToOne配合@JoinTable来描述。 同样存在单向和双向两种关联方式。 一对多(@OneToMany)/多对一(@ManyToOne) * 信息工程学院本科生课程 JPA进阶 一对多与多对一(双向) * 信息工程学院本科生课程 JPA进阶 一对多与多对一(双向)(2) * 信息工程学院本科生课程 JPA进阶 关联的实体之间 采用外键关联 bids item 多对多采用@ManyToMany标注。 通常将多对多关系分离到关联实体中来实现。关联实体与两个实体之间为一对多关系。 因而采用 @ManyToMany 配合 @JoinTable(关联表)的方式来表示。 多对多 (@ManyToMany) * 信息工程学院本科生课程 JPA进阶 多对多(2) * 信息工程学院本科生课程 JPA进阶 多对多 (@ManyToMany) * 信息工程学院本科生课程 JPA进阶 items categories 关联的实体之间 采用关联表关联 将面向对象的继承关系映射到数据库是一大难点。可以采用3种映射方法: 单表:父类和子类放在同一个表; 连接表:层次结构的父表只存放通用的列,子表则包含实体类型专有的列,这样来为继承关系建模; 每个类一个表: 父类与子类的表 独立,完全不 相关。 继承关系 * 信息工程学院本科生课程 JPA进阶 继承关系 – 单表 * 信息工程学院本科生课程 JPA进阶 使用单一的数据表来存储所有的用户类型(即Bidder和Seller)。该策略简单易用。但未完全利用关系数据库的强大功能,并且导致大量的NULL值。此时需要指定区分不同类型的列及对应的值,这里为USER_TYPE以及“B”和“S”。 表USERS 继承关系 – 单表(2) * 信息工程学院本科生课程 JPA进阶 继承关系 – 表连接 * 信息工程学院本科生课程 JPA进阶 表连接策略为面向对象层次结构中的每个实体创建单独表,并且通过一对一关系来关联层次结构中的直接后裔; 为最佳映射策略。但是由于在多态查询时需要连接(join)多个表,因而性能会稍差些。 表USERS、BIDDERS 和 SELLERS 继承关系 – 连接表(2) * 信息工程学院本科生课程 JPA进阶 继承关系 – 每个类一个表 * 信息工程学院本科生课程 JPA进阶 面向对象层次结构中的每个类(父类和子类)对应到一个单独的表; 最为简单。但是父类和子类存储于各自的表中,无任何关联。从OO和RDB的观点来看,为最差的策略。 表USERS、BIDDERS 和 SELLERS 继承关系 – 每个类一个表(2) * 信息工程学院本科生课程 JPA进阶 实体的状态及操作: 实体主键与实体属性: 主键生成策略,复合主键,嵌入式主键 实体属性:类型、加载方式等 实体关系映射: 关联关系:一对一、一对多与多对一、多对多 继承关系: JPA查询语言 (JPQL): 使用查询对象完成查询 处理查询结果 使用标准SQL语句 条件查询、关系查询等 JPA进阶 * 信息工程学院本科生课程 主要内容 *Yanlei Diao, University of Massachusetts Amherst *Yanlei Diao, University of Massachusetts Amherst 课程提纲 第一部分 Java EE基础 第二部分 Java Web开发 第三部分 JSF框架 第四部分 EJB 第13章 JPA进阶 JPQL (Java Persistence Query Language) 第五部分 JPA 第六部分 SSH框架 * Java EE技术 信息工程学院本科生课程 实体的状态及操作: 实体主键与实体属性: 主键生成策略,复合主键,嵌入式主键

文档评论(0)

wendang_12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档