hibernate关系映射(一对一)

Posted on 2008-08-21 12:13 H2O 阅读(337) 评论(0)  编辑  收藏 所属分类: hibernate
人与卡(身份证)---一对一
package com.yz.pojos;

public class Person {
    
private Integer pid;
    
private String pname;
    
private Integer page;
    
//一个人对应一张卡
    private Card cards =new Card();
    
    
public Person() {
    }

    
public Person(Integer pid, String pname, Integer page, Card cards) {
        
super();
        
this.pid = pid;
        
this.pname = pname;
        
this.page = page;
        
this.cards = cards;
    }

    
public Integer getPid() {
        
return pid;
    }

    
public void setPid(Integer pid) {
        
this.pid = pid;
    }

    
public String getPname() {
        
return pname;
    }

    
public void setPname(String pname) {
        
this.pname = pname;
    }

    
public Integer getPage() {
        
return page;
    }

    
public void setPage(Integer page) {
        
this.page = page;
    }

    
public Card getCards() {
        
return cards;
    }

    
public void setCards(Card cards) {
        
this.cards = cards;
    }

}

 

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    
<class name="com.yz.pojos.Person" table="person" catalog="ssh">
        
<id name="pid" type="java.lang.Integer">
            
<column name="pid" />
            
<generator class="native" />
        
</id>
        
<property name="pname" type="java.lang.String">
            
<column name="pname" length="32" not-null="true" />
        
</property>
        
<property name="page" type="java.lang.Integer">
            
<column name="page" not-null="true" />
        
</property>
        
<!--
            name:Card的属性
            Class 属性所属的类
            property-ref:一张卡对应一个人,那个人,Card类里所对应的人person属性 
            cascade=all 级联更新和删除
         
-->
       
<one-to-one   cascade="delete" name="cards" class="com.yz.pojos.Card" property-ref="person"></one-to-one>
    
</class>
</hibernate-mapping>
package com.yz.pojos;

import javax.xml.registry.infomodel.PersonName;

/**
 * Card entity.
 * 
 * 
@author MyEclipse Persistence Tools
 
*/


public class Card implements java.io.Serializable {

    
// Fields

    
private Integer cid;
    
//一张卡对应一个人
    private Person person;
    
private String cname;

    
// Constructors

    
/** default constructor */
    
public Card() {
    }


    
/** full constructor */
    
public Card(Person person, String cname) {
        
this.person = person;
        
this.cname = cname;
    }


    
// Property accessors

    
public Integer getCid() {
        
return this.cid;
    }


    
public void setCid(Integer cid) {
        
this.cid = cid;
    }


    
public Person getPerson() {
        
return this.person;
    }


    
public void setPerson(Person person) {
        
this.person = person;
    }


    
public String getCname() {
        
return this.cname;
    }


    
public void setCname(String cname) {
        
this.cname = cname;
    }


}
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    
<class name="com.yz.pojos.Card" table="card" catalog="ssh">
        
<id name="cid" type="java.lang.Integer">
            
<column name="cid" />
            
<generator class="native" />
        
</id>
        
<many-to-one name="person" class="com.yz.pojos.Person" fetch="select">
            
<column name="pid"  />
        
</many-to-one>
        
<property name="cname" type="java.lang.String">
            
<column name="cname" length="32"  />
        
</property>
    
</class>
</hibernate-mapping>

只有注册用户登录后才能发表评论。


网站导航:
 

posts - 0, comments - 21, trackbacks - 0, articles - 101

Copyright © H2O