07_实体映射.ppt

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

实体映射 本篇主题 复合主键 Blob、Clob Component 动态模型(Dynamic Model) 复合主键 基于业务需求,您可能会需要使用两个或两个以上字段来作复合主键。 复合主键的引入,意味着业务逻辑已经入侵数据存储逻辑中。在新系统设计过程中,应尽量避免 可以通过两种方式确定主键 基于实体类属性的复合主键 基于主键类的复合主键 复合主键 通过composite-id节点对复合主键进行定义 Hibernate要求复合主键类: 实现Serializable接口 定义equals()与hashCode()方法 设计数据表 例如在User数据表中,您也许会使用name与phone两个字段来定义复合主键。假设您这么建立User表格: CREATE TABLE user ( name VARCHAR(100) NOT NULL, phone VARCHAR(50) NOT NULL, age INT, PRIMARY KEY(name, phone) ); 基于实体类属性的复合主键 复合主键由实体类的属性组成,实体类同时扮演复合主键类的角色 让User类直接带有“name”与“age”这两个属性。 User.java // 复合主键类的对应类别必须实现Serializable接口 public class User implements Serializable { private String name; private String phone; private Integer age; public User() { }? public Integer getAge() { return age; }? public void setAge(Integer age) { this.age = age; }? public String getName() { return name; }? public void setName(String name) { = name; }? public String getPhone() { return phone; }? public void setPhone(String phone) { this.phone = phone; } User.java // 必须重新定义equals()与hashCode() public boolean equals(Object obj) { if(obj == this) { return true; } if(!(obj instanceof User)) { return false; } User user = (User) obj; return new EqualsBuilder().append(,user.getName()) .append(this.phone,user.getPhone()).isEquals(); } public int hashCode() { return new HashCodeBuilder().append() .append(this.phone) .toHashCode(); } } equals()与hashCode()方法被用作两条不同记录的识别依据 映射文件 使用composite-id在映射文件中定义复合主键与对象的属性对应 User.hbm.xml ?xml version=1.0 encoding=utf-8? !DOCTYPE hibernate-mapping PUBLIC -//Hibernate/Hibernate Mapping DTD 3.0//EN /hibernate-mapping 3.0.dtd ? hibernate-mapping ? class name=onlyfun.caterpillar.User table=user composite-id

文档评论(0)

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

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

1亿VIP精品文档

相关文档