Hibernate高级.doc

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1、课程名称:Hibernate高级 2、知识点 2.1、上次课程的主要知识点 1、映射实例的三种状态,持久态与一个Session相关联是否相当于通过Session传递了一个pojo的引用传递,游离态的实例改变其非主键属性值之后还称为游离态吗(因为游离态能够使用delete(),这时这个实例却不能使用这个删除),瞬时态将其各属性值设置为和数据库中完全一致能叫游离态吗? Session关闭后的持久态对象会转化为游离态。 delete()可以传入游离态,update()可以传入游离态。 2、使用load( )出现的lazy加载异常情况,没听清。 用到时才会进行查询,如果关闭了连接会提示延迟加载异常。 3、new java.sql.Timestamp(0) 为什么要加上那个0,而new Date()不需要? 如果要取得当前系统时间,需要配合java.util.Date一起完成 Date date = new Date(); System.out.println(new Timestamp(date.getTime())); 4、请老师重新解释一下映射文件中的这段代码 set name=aids table=rolerelation key column name=roleid/column /key element column=aid type=java.lang.Integer/element /set 在生成role的映射时,默认不包含aids这个集合,该集合需要自行添加 public class Role implements java.io.Serializable { private Integer roleid; private String name; private String description; // 保存的是中间表的aid字段的值 private SetInteger aids = new HashSetInteger(); 在映射文件中需要对这个集合进行说明。 表示在pojo类中(Role)定义了一个名称为aids的Set集合 Table表示集合中的数据是通过rolerelation表查询出来的。 set name=aids table=rolerelation Key表示外键关系,因为rolerelation表与当前对象映射的表存在主外键关系 key 表示的是中间表的roleid字段 column name=roleid/column /key 表示集合中保存的数据类型是java.lang.Integer,里面的内容是通过中间表查询出的aid字段来设置的。 element column=aid type=java.lang.Integer/element /set 2.2、本次预计讲解的知识点 3、具体内容 3.1、一对一关系映射 一般在表设计时,很少出现一对一关系映射。 表中体现一对一关系: 2张表 外键同时是主键 例如: 人 ( 身份证 人表:id(18位),name,age,sex 身份证表:id(18位),birthday,real_name , 加入外键 通过表可以看出主表是人,辅表是身份证。因此有外键的就是辅表。 类中体现一对一关系: 2个类 互相包含一个对方的对象 例如: 人 ( 身份证 人:id,name,age,sex, 身份证对象 身份证:id,birthday,realName, 人对象 建立好这两张表,完成映射。 CREATE TABLE person ( id varchar(18) primary key , name varchar(20) not null, sex varchar(2) not null, age int not null ); CREATE TABLE card ( id varchar(18) primary key , real_name varchar(20) not null, birthday date not null, foreign key (id) references person (id) on delete cascade ); 依据表生成映射,注意映射时一起选择。 一起选择生成,否则无法自动生成关系 生成时,一定注意选择使用一对一关系映射。 pack

文档评论(0)

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

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

1亿VIP精品文档

相关文档