多对多的实体映射实现.ppt_第1页
多对多的实体映射实现.ppt_第2页
多对多的实体映射实现.ppt_第3页
多对多的实体映射实现.ppt_第4页
多对多的实体映射实现.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

多对多的实体映射实现 杨少波 trainict 中科院计算所职业培训中心 多对多的实体映射实现 在本讲您能了解如下知识点创建Hibernate的配置文件 创建持久化类 创建对象 关系映射文件 编程基于Hibernate的DAO组件实现 多对多 的关联映射 1 多对多关联的实现方案 1 类似一对多情形中的最常用方案 为关联的双方增加到对方的外键操作比较简单 缺点是会造成数据冗余 一 实现 多对多 的关联映射的原理 2 新增一张包含关联双方主键的关联表在取数据时 需要链接该关联表和数据表 优点是没有数据冗余 缺点是带来了一定的时限复杂度 2 注意的问题 1 多对多 由于使用了中间数据库表 在查询效率方面比较低 2 并且在对象模式上 多对多 会使得对象与对象之间彼此依赖 因此该种设计并不是一个良好的设计方式 3 我们在系统的数据访问层的设计上应尽可能避免使用 多对多 关系 3 多对多的关联也同样可以采用Set List等多种方式的属性标签 4 基于中间连接表的多对多关联的映射文件的示例 注意标签的定义 中间连接表 1 设计本示例中所需要的数据库 2 利用Hibernate连接数据库 1 方式一 采用直接连接 2 方式二 采用基于容器的JNDI数据源本例采用Tomcat中所提供的JNDI的数据库连接池 二 在Web应用中实现数据库访问 4 将Hibernate的库文件放到Web应用的 WEB INF lib目录中 3 在Tomcat的server xml文件进行配置 5 配置Hibernate系统 本例的XML格式的Hibernate配置文件hibernate cfg xml文件的内容如下 6 配置log4j properties属性文件 7 在Web应用所在的目录中添加数据库的JDBC驱动程序的各个 jar包文件 8 编写POJO类及其要求 1 POJO简单传统Java对象 POJO PlainOldJavaObject 有时候也称作PlainOrdinaryJavaObjects 编程模型Hibernate使用简单的Java对象来进行持久化 2 POJO类代码的风格要求一个POJO很类似于JavaBean的代码风格并且它应该有一个没有参数的构造函数 3 实体类中的标识属性id实体类中的id属性 property 为一个实体类的实例提供标识属性 identifierproperty 的值它是一个特殊的属性 代表了这个类的数据库标识符 主键 4 本例中的实体类代码 5 实体类中的equals方法 如果我们有如下需求 则必须重载equals 方法 想把持久类的实例放入Set中 当表示多值关联时 推荐这么做 想重用脱管实例实现equals 最显而易见的方法是比较两个对象标识符的值 如果值相同 则两个对象对应于数据库的同一行 因此它们是相等的 如果都被添加到Set 则在Set中只有一个元素 9 映射前面所设计的Book数据库表 1 映射文件的作用Hibernate需要知道怎样去加载 load 和存储 store 我们的持久化类的对象 这里正是Hibernate映射文件 mappingfile 发挥作用的地方映射文件告诉Hibernate它应该访问数据库里面的哪个表 table 和应该使用表里面的哪些字段 column 2 命名规则 类名 hbm xml 3 本示例中的Book hbm xml映射文件的内容 10 编程基于Hibernate的DAO组件以进行数据的访问操作 11 在某个Web应用中使用上面的程序 12 执行该Web应用 1 将在浏览器中看到下面的执行结果 2 同时 在数据库表中将出现下面的记录 三 实现本例中的 多对多 实体之间的关联1 在MSSQLServer的本例的数据库中增加一个数据库表BookAuthor 2 决定BookAuthor和Book之间的关系 3 新增一个BookAuthor类并且在BookAuthor类增加一组Book 这样我们可以轻松的通过调用aPerson getBooks 得到一个BookAuthor所拥有的Book列表 而不必执行一个显式的查询 一个单向的Set based关联 4 为该实体类创建一个BookAuthor hbm xml映射文件 6 在HibernateDAOBean java中增加一个产生关联数据的方法 5 在hibernate cfg xml配置文件中增加对该文件的定义 7 在Web应用的组件中添加下面的代码 8 执行该组件 9 在HibernateDAOB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论