首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

关联关系的联结主键映射

2012-08-21 
关联关系的联合主键映射丈夫和妻子 其中妻子表的主键由id和name组成 ,丈夫和妻子之间是一对一的关系.?pack

关联关系的联合主键映射

丈夫和妻子 其中妻子表的主键由id和name组成 ,丈夫和妻子之间是一对一的关系.

?

package com.zchen.hibernate.component;import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.IdClass;import javax.persistence.Table;@Entity@Table(name="T_WIFE")@IdClass(WifePK.class)public class Wife{private int id;private String name;private int age;@Idpublic int getId() {return id;}public void setId(int id) {this.id = id;}@Idpublic String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}

?

package com.zchen.hibernate.component;import java.io.Serializable;public class WifePK implements Serializable{private int id;private String name;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + id;result = prime * result + ((name == null) ? 0 : name.hashCode());return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;WifePK other = (WifePK) obj;if (id != other.id)return false;if (name == null) {if (other.name != null)return false;} else if (!name.equals(other.name))return false;return true;}}

?

package com.zchen.hibernate.component;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.JoinColumn;import javax.persistence.JoinColumns;import javax.persistence.OneToOne;import javax.persistence.Table;@Entity@Table(name="T_HUSBAND")public class Husband {private int id;private String name;private Wife wife;@Id@GeneratedValuepublic int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}@OneToOne@JoinColumns({@JoinColumn(name="WIFE_ID",referencedColumnName="id"),@JoinColumn(name="WIFE_NAME",referencedColumnName="name")})public Wife getWife() {return wife;}public void setWife(Wife wife) {this.wife = wife;}}

?

package com.zchen.hibernate;import org.hibernate.cfg.AnnotationConfiguration;import org.hibernate.tool.hbm2ddl.SchemaExport;import org.junit.Test;public class Snippet {@Testpublic void testSchemaExport(){new SchemaExport(new AnnotationConfiguration().configure()).create(true, true);}}

?

热点排行