编程资料集中营
 | 网站首页 | 文章中心 | 编程资料2 | 软件下载 | BT下载 | 八卦星闻 | 音乐在线 | 在线游戏 | 免费电影 | 进入问吧 | 
一对多的应用(在某一主表下增加子表记录),,
您现在的位置: 编程资料,学习资料,c,c++,vc,vc++,java,jsp,j2ee,j2me,asp,php >> 文章中心 >> JAVA 专区 >> Hibernate 技术 >> 文章正文
【字体:
一对多的应用(在某一主表下增加子表记录)   进入问吧

本站地址:http://www.bajiao123.com

作者:admin    文章来源:网络    点击数:    更新时间:2006-12-27    

一对多的应用(在某一主表下增加子表记录)

来源:WEB开发资源联盟(http://cnpoint.com/)
作者:point
原文:一对多的应用(在某一主表下增加子表记录)(http://cnpoint.com/framwwork/2006/1211/content_4718.htm)

一对多的应用(在某一主表下增加子表记录)

主表customer,子表email,一个用户可以拥有若干个email,现在id为34的用户需要增加1条email记录,采用双向一对多技术,主控方在many方,有助于性能的改善,在one方和many方都要进行配置。具体实现代码如下:

(one方)customer.hbm.xml

<?xml version="1.0"?> 

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" 
"::URL::http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  

<hibernate-mapping>
    <class name="Customer" table="CUSTOMER">
        <id name="id" column="ID" type="int">
            <generator class="native">
            </generator>
        </id>
        <property name="username" column="USERNAME" type="string"/> 
        <property name="password" column="PASSWORD" type="string"/>
        <property name="age" column="AGE" type="int"/>
         
        <set name="email" table="email" inverse="true" cascade="all">
         <key column="id" foreign-key="fk"/>
<one-to-many class="Email"/>
        </set>

        </class>

</hibernate-mapping> 

many方采用Set集合的形式存在于one方中<set …………  /set>,inverse=true表示控制权不在此处,cascade级联

--------------------------------------------------------------------
(one方)Customer.java

import java.util.HashSet;
import java.util.Set;

public class Customer {
    private int id; 
    private String username; 
    private String password;
    private int age;
    //采用set作为容器存储子表的对象
    private Set email = new HashSet();
    
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}


public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Set getEmail() {
return email;
}
public void setEmail(Set email) {
this.email = email;
}

}

--------------------------------------------------------------------

(many方)email.hbm.xml

<?xml version="1.0"?> 

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" 
"::URL::http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  

<hibernate-mapping>
    <class name="Email" table="EMAIL">
        <id name="id" column="ID" type="int">
            <generator class="native">
   &nbs

[1] [2] [3] 下一页

   

进入问吧

本站地址:http://www.bajiao123.com

文章录入:admin    责任编辑:admin 
高级搜索
编程资料集中营