网站大量收购独家精品文档,联系QQ:2885784924

尚学堂Struts,Spring,Hibernate教学幻灯片.ppt

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

每个具体子类一张表 这种策略是使用union-subclass标签来定义子类的。每个子类对应一张表,而且这个表的信息是完备的,即包含了所有从父类继承下来的属性映射的字段(这就是它跟joined-subclass的不同之处,joined-subclass定义的子类的表,只包含子类特有属性映射的字段)。实现这种策略的时候,有如下步骤: 父类用普通class标签定义即可 子类用union-subclass标签定义,在定义union-subclass的时候,需要注意如下几点: Union-subclass标签不再需要包含key标签(与joined-subclass不同) Union-subclass标签,既可以被class标签所包含(这种包含关系正是表明了类之间的继承关系),也可以与class标签平行。 当Union-subclass标签的定义与class标签平行的时候,需要在Union-subclass标签中,添加extends属性,里面的值是父类的全路径名称。 子类的其它属性,像普通类一样,定义在Union-subclass标签的内部。这个时候,虽然在union-subclass里面定义的只有子类的属性,但是因为它继承了父类,所以,不需要定义其它的属性,在映射到数据库表的时候,依然包含了父类的所有属性的映射字段。 双向关联 概念:双向关联允许通过关联的任一端访问另外一端。在Hibernate中, 支持两种类型的双向关联。 一对多(one-to-many),Set或者bag值在一端, 单独值(非集合)在另外一端 。 多对多(many-to-many),两端都是set或bag值。 例子(双向关联):group-user class name=com.test.hibernate.Group table=TBL_GROUP id name=id column=groupIdgenerator class=native“/id set name=users lazy=true cascade=save-update inverse=true key column=groupId/ one-to-many class=com.test.hibernate.User/ /set /class class name=com.test.hibernate.User table=TBL_USER id name=id column=userIdgenerator class=native//id many-to-one name=group column=groupId outer-join=false/ /class 例子:从Java代码看group-user双向关联的inverse 概念:inverse用来标识双向关联的关联关系由哪一端维护。默认inverse的值为false,由主动方负责维护关联关系;如果设为true,则由反向一端维护关联关系。 用例:我们假设已经有一个Group类的实例:adminGroup,现在我们要新增一个用户,并且将用户分配到adminGroup中。 inverse=“false”,由主动方Group负责维护group-user的关联关系. User user = new User(“Jak”); adminGroup.getUsers.add(user); session.save(user); session.update(group); inverse=“true”,由Group的反向段User负责维护关联关系。 User user = new User(“Jak”); user .setGroup(adminGroup); session.save(user); Hibernate查询 概述:数据查询与检索是Hibernate中的一个亮点。相对其他ORM实现而言,Hibernate提供了灵活多样的查询机制。 标准化对象查询(Criteria Query):以对象的方式进行查询,将查询语句封装为对象操作。优点:可读性好,符合Java 程序员的编码习惯。缺点:不够成熟,不支持投影(projection)或统计函数(aggregation) Hibernate语言查询(Hibernate Query Language,HQL):它是完全面向对象的查询语句,查询功能非常强大,具备多态、关联等特性 。Hibernate官方推荐使用HQL进行查询。 Native SQL Queries(原生SQL查询):直接使用标准SQL语言或跟特定数据库相关的SQL进行查询。 例子:标准化对象查询(Criteria Query) 简单例子:查询用户名以“J”开头的所有用户。 Criteria cri

文档评论(0)

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

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

1亿VIP精品文档

相关文档