首页 > 代码库 > 关系映射的双向关联的多对一
关系映射的双向关联的多对一
关系映射的双向关联的多对一
package org.fkjava.bean;import java.util.Date;import java.util.Set;/** * 一对多 外键 双向 关联关系 配置 * 一个人 一个地址 * * @author hanfeili * www.fkjava.org */public class Person { private Integer id; private String name; private int password; private Date birthday; //一个set集合保存多个地址引用 private Set<Address> addressSet; public Person() { } @Override public String toString() { return "Person [id=" + id + ", name=" + name + ", password=" + password + ", birthday=" + birthday + "]"; } public Set<Address> getAddressSet() { return addressSet; } public void setAddressSet(Set<Address> addressSet) { this.addressSet = addressSet; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPassword() { return password; } public void setPassword(int password) { this.password = password; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; }}----------------------------------------------------------------------package org.fkjava.bean;/** * 一对多 外键 双向 关联关系 配置 * * @author hanfeili www.fkjava.org */public class Address { private Integer id; /** * 邮政编码 */ private String codes; /** * 具体地址 */ private String des; //因为是 双向 关联 ,所以需要在address类 //中也要有person private Person person; @Override public String toString() { return "Address [id=" + id + ", codes=" + codes + ", des=" + des + "]"; } public String getCodes() { return codes; } public void setCodes(String codes) { this.codes = codes; } public String getDes() { return des; } public void setDes(String des) { this.des = des; } public Person getPerson() { return person; } public void setPerson(Person person) { this.person = person; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; }}
<?xml version="1.0"?><!DOCTYPE hibernate-mapping SYSTEM "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><!-- 一对多 外键 双向 关联关系 配置 -->-<hibernate-mapping package="bean">-<class table="t_person" name="Person">-<id name="id"><generator class="identity"/></id><property name="name"/><property name="password"/><property name="birthday"/><!-- 通过Set配置一个人对应的多个地址的关联关系 inverse=true表示在Person端不维护关系 -->-<set name="addressSet" inverse="true" cascade="all"><!-- 指定adddrssSet集合中的数据对应t_person的的一个外键 --><key column="p_id"/><!-- 指定Person 关联的实例类型 --><one-to-many class="Address"/></set></class>-<class table="t_address" name="Address">-<id name="id"><generator class="identity"/></id><property name="codes"/><property name="des"/><!-- not-null="true" 指定外键不能为 null --><many-to-one name="person" column="p_id" not-null="true"/></class></hibernate-mapping>
关系映射的双向关联的多对一
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。