hibernate双向多对一映射文件写法:

人员与部门是多对一的关系:

GdpComponentDept.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
 "-//Hibernate/Hibernate Mapping DTD//EN"
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

<hibernate-mapping package="com.danning.struts.pojo">
 <class
  name="GdpComponentDept"
  table="GDP_COMPONENT_DEPT"
 >
  <meta attribute="sync-DAO">false</meta>

  <meta attribute="sync-DAO">false</meta>

  <id
   name="Id"
   type="integer"
   column="FID"
  >
   <generator class="increment"/>
  </id>

  <property
   name="Fdeptname"
   column="FDEPTNAME"
   type="string"
   not-null="false"
   length="50"
  />
  <property
   name="Fmancount"
   column="FMANCOUNT"
   type="integer"
   not-null="true"
   length="10"
  />
<!-- 参见hibernate_reference.pdf的第22章的示例:父子关系-->
  <set name="gdpComponentUsers" inverse="true" cascade="all-delete-orphan">
   <key column="FID" />
   <one-to-many class="GdpComponentUser" />
  </set>

 

 </class> 
</hibernate-mapping>

 

GdpComponentUser.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
 "-//Hibernate/Hibernate Mapping DTD//EN"
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.danning.struts.pojo">
 <class
  name="GdpComponentUser"
  table="GDP_COMPONENT_USER"
 >
  <meta attribute="sync-DAO">false</meta>

  <meta attribute="sync-DAO">false</meta>

  <id
   name="Id"
   type="integer"
   column="FID"
  >
   <generator class="increment"/>
  </id>
  <property
   name="Fusername"
   column="FUSERNAME"
   type="string"
   not-null="false"
   length="30"
  />
  <!--Fdeptid不能这样写,因为下面的集合many-to-one已经表示了,要通过集合得到部门的Fdeptid-->
  <!--property
   name="Fdeptid"
   column="FDEPTID"
   type="integer"
   not-null="false"
   length="10"
  /-->
  <property
   name="Faddress"
   column="FADDRESS"
   type="string"
   not-null="false"
   length="50"
  />
  <property
   name="Fsex"
   column="FSEX"
   type="java.lang.Short"
   not-null="false"
   length="5"
  />
  <property
   name="Fage"
   column="FAGE"
   type="java.lang.Short"
   not-null="false"
   length="5"
  />
  <property
   name="Fhigh"
   column="FHIGH"
   type="java.lang.Short"
   not-null="false"
   length="5"
  />
  <property
   name="Fweigh"
   column="FWEIGH"
   type="java.lang.Short"
   not-null="false"
   length="5"
  />
  <property
   name="Femail"
   column="FEMAIL"
   type="string"
   not-null="false"
   length="50"
  />
  <property
   name="Fphone"
   column="FPHONE"
   type="string"
   not-null="false"
   length="50"
  />
  <!-- 参见hibernate_reference.pdf的第22章的示例:父子关系-->
  <!--注意:在GdpComponentUser也要写一个gdpComponentDept属性。-->
  <many-to-one
   name="gdpComponentDept"
   column="FDEPTID"
   class="GdpComponentDept"
   not-null="true"
   lazy="false"
  >
  </many-to-one>

POJO:    GdpComponentDept.java

public class GdpComponentDept implements Serializable{
 
 private Integer id;
 private String fdeptname;
 private int fmancount;
 //用集合表示一个部门里的所有人员。
 private Set gdpComponentUsers = new HashSet();

 public GdpComponentDept() {
  
  // TODO Auto-generated constructor stub
 }
 
 //参照hibernate_reference.pdf的191页
 //为了让事情变得井井有条,可以为Parent加一个addUser()方法!
 public void addUser(GdpComponentUser user){
  user.setGdpComponentDept(this);
  gdpComponentUsers.add(user);
 }

 public String getFdeptname() {
  return fdeptname;
 }

 public void setFdeptname(String fdeptname) {
  this.fdeptname = fdeptname;
 }

 public int getFmancount() {
  return fmancount;
 }

 public void setFmancount(int fmancount) {
  this.fmancount = fmancount;
 }

 public Integer getId() {
  return id;
 }

 public void setId(Integer id) {
  this.id = id;
 }

 public Set getGdpComponentUsers() {
  return gdpComponentUsers;
 }

 public void setGdpComponentUsers(Set gdpComponentUsers) {
  this.gdpComponentUsers = gdpComponentUsers;
 }
 

}

 

POJO:GdpComponentUser.java

public class GdpComponentUser implements Serializable{
 
 private Integer id;
 private String fusername;
 
 //fdeptid,在影射文件中不用再写一个对应的property,<many-to-one>已经表示了!
 //参见hibernate_reference.pdf 的192页
 private Integer fdeptid;
 private String faddress;
 private short fsex;
 private short fage;
 private short fhigh;
 private short fweigh;
 private String femail;
 private String fphone;
 private GdpComponentDept gdpComponentDept;
 
 public GdpComponentUser () {

 }

 public String getFaddress() {
  return faddress;
 }

 public void setFaddress(String faddress) {
  this.faddress = faddress;
 }

 public short getFage() {
  return fage;
 }

 public void setFage(short fage) {
  this.fage = fage;
 }

 public String getFemail() {
  return femail;
 }

 public void setFemail(String femail) {
  this.femail = femail;
 }

 public short getFhigh() {
  return fhigh;
 }

 public void setFhigh(short fhigh) {
  this.fhigh = fhigh;
 }

 public String getFphone() {
  return fphone;
 }

 public void setFphone(String fphone) {
  this.fphone = fphone;
 }

 public short getFsex() {
  return fsex;
 }

 public void setFsex(short fsex) {
  this.fsex = fsex;
 }

 public String getFusername() {
  return fusername;
 }

 public void setFusername(String fusername) {
  this.fusername = fusername;
 }

 public short getFweigh() {
  return fweigh;
 }

 public void setFweigh(short fweigh) {
  this.fweigh = fweigh;
 }

 public Integer getId() {
  return id;
 }

 public void setId(Integer id) {
  this.id = id;
 }

 public Integer getFdeptid() {
  return fdeptid;
 }

 public void setFdeptid(Integer fdeptid) {
  this.fdeptid = fdeptid;
 }

 public GdpComponentDept getGdpComponentDept() {
  return gdpComponentDept;
 }

 public void setGdpComponentDept(GdpComponentDept gdpComponentDept) {
  this.gdpComponentDept = gdpComponentDept;
 }
 
}

一个常量通用类:

package com.danning.struts.utils;

public class Constants {

 
 //设置每页显示的人员数量
 public static int ROWSPERPAGE=2;


}

 </class> 
</hibernate-mapping>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值