`

[转]hibernate 集合类(Collections)映射(二)- List

阅读更多

二、List集合映射

 

1. 实体类:

 

实体类还是采用DepartmentEmployee,详见我写的多对一(many-to-one)文章,在它们的基础上进行修改如下所示:

 

将原Department实体类中的Set替换成List,如下所示:

 

Java代码

package com.reiyen.hibernate.domain;  

 

public class Department {  

 

    private int id;  

    private String name;  

    private List<Employee> emps;  

       //SetterGetter方法  

} 

 

package com.reiyen.hibernate.domain;

 

public class Department {

 

    private int id;

    private String name;

    private List<Employee> emps;

       //SetterGetter方法

}在原Employee实体类中增加了重写的toString()方法,方法如下:

 

Java代码

@Override 

    public String toString() {  

        return "id=" + this.id + " name=" + this.name;  

    } 

 

@Override

    public String toString() {

       return "id=" + this.id + " name=" + this.name;

    } 2. 配置文件:

 

修改Department.hbm.xml配置文件,其它的还是保持以前的不变,修改的Department.hbm.xml配置文件如下:

 

Xml代码

<?xml version="1.0"?> 

<!DOCTYPE hibernate-mapping PUBLIC   

    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  

    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 

<hibernate-mapping package="com.reiyen.hibernate.domain"> 

    <class name="Department" > 

        <id name="id" > 

            <generator class="native" /> 

        </id> 

        <property name="name" /> 

        <!--    

        <set name="emps"> 

        <key column="depart_id" /> 

        <one-to-many class="Employee"/> 

        </set>--> 

        <list name="emps"> 

        <key column="depart_id" /> 

        <!-- list-index:用来记录加入list集合的元素的顺序 ,会一定程度影响性能,所以可以使用bag替代list--> 

        <list-index column="order_col" /> 

        <one-to-many class="Employee"/> 

        </list> 

    </class> 

</hibernate-mapping> 

 

<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC

    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.reiyen.hibernate.domain">

    <class name="Department" >

       <id name="id" >

           <generator class="native" />

       </id>

       <property name="name" />

       <!-- 

       <set name="emps">

       <key column="depart_id" />

       <one-to-many class="Employee"/>

       </set>-->

       <list name="emps">

       <key column="depart_id" />

       <!-- list-index:用来记录加入list集合的元素的顺序 ,会一定程度影响性能,所以可以使用bag替代list-->

       <list-index column="order_col" />

       <one-to-many class="Employee"/>

       </list>

    </class>

</hibernate-mapping> 3.测试类(只是对many-to-one中的测试类进行了少量的修改),如下所示:

 

分享到:
评论

相关推荐

    HibernateAPI中文版.chm

    6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent collections) 6.2. 集合映射( Collection mappings ) 6.2.1. 集合外键(Collection foreign keys) 6.2.2. 集合元素(Collection elements) 6.2.3. ...

    hibernate3.2中文文档(chm格式)

    6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent collections) 6.2. 集合映射( Collection mappings ) 6.2.1. 集合外键(Collection foreign keys) 6.2.2. 集合元素(Collection elements) 6.2.3. ...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent collections) 6.2. 集合映射( Collection mappings ) 6.2.1. 集合外键(Collection foreign keys) 6.2.2. 集合元素(Collection elements) 6.2.3. ...

    Hibernate+中文文档

    6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent collections) 6.2. 集合映射( Collection mappings ) 6.2.1. 集合外键(Collection foreign keys) 6.2.2. 集合元素(Collection elements) 6.2.3. ...

    Hibernate中文详细学习文档

    6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent collections) 6.2. 集合映射( Collection mappings ) 6.2.1. 集合外键(Collection foreign keys) 6.2.2. 集合元素(Collection elements) 6.2.3. ...

    Hibernate 中文 html 帮助文档

    6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent collections) 6.2. 集合映射( Collection mappings ) 6.2.1. 集合外键(Collection foreign keys) 6.2.2. 集合元素(Collection elements) 6.2.3. 索引...

    hibernate 体系结构与配置 参考文档(html)

    6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent collections) 6.2. 集合映射( Collection mappings ) 6.2.1. 集合外键(Collection foreign keys) 6.2.2. 集合元素(Collection elements) 6.2.3. ...

    最全Hibernate 参考文档

    6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent collections) 6.2. 集合映射( Collection mappings ) 6.2.1. 集合外键(Collection foreign keys) 6.2.2. 集合元素(Collection elements) 6.2.3. 索引...

    Hibernate教程

    7. 集合类(Collections)映射 7.1. 持久化集合类(Persistent collections) 7.2. 集合映射( Collection mappings ) 7.2.1. 集合外键(Collection foreign keys) 7.2.2. 集合元素(Collection elements) 7.2.3. ...

    hibernate 教程

    集合类(Collections)映射 6.1. 持久化集合类(Persistent Collections) 6.2. 映射集合(Mapping a Collection) 6.3. 值集合和多对多关联(Collections of Values and Many-To-Many Associations) 6.4. ...

    Hibernate参考文档

    6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent collections) 6.2. 集合映射( Collection mappings ) 6.2.1. 集合外键(Collection foreign keys) 6.2.2. 集合元素(Collection elements) 6.2.3. 索引...

    hibernate3.04中文文档.chm

    7. 集合类(Collections)映射 7.1. 持久化集合类(Persistent collections) 7.2. 集合映射( Collection mappings ) 7.2.1. 集合外键(Collection foreign keys) 7.2.2. 集合元素(Collection elements) 7.2.3. ...

    hibernate 框架详解

    7. 集合类(Collections)映射 7.1. 持久化集合类(Persistent collections) 7.2. 集合映射( Collection mappings ) 7.2.1. 集合外键(Collection foreign keys) 7.2.2. 集合元素(Collection elements) 7.2.3...

    Hibernate中文API大全

    注意:在Hibernate3中,第二个要求并非是Hibernate强制必须的。但最好这样做。 你不能使用一个IdentifierGenerator产生组合关键字。一个应用程序必须分配它自己的标识符。 使用&lt;composite-id&gt; 标签(并且内嵌&lt;key...

    Hibernate3+中文参考文档

    6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent collections) 6.2. 集合映射( Collection mappings ) 6.2.1. 集合外键(Collection foreign keys) 6.2.2. 集合元素(Collection elements) 6.2.3. 索引...

    hibernate

    集合类(Collections)映射 6.1. 持久化集合类(Persistent Collections) 6.2. 映射集合(Mapping a Collection) 6.3. 值集合和多对多关联(Collections of Values and Many-To-Many Associations) 6.4. ...

    NHibernate中文帮助手册API

    集合类(Collections)映射  6.1. 持久化集合类  6.2. 集合外键(Collection foreign keys)  6.3. 值集合于多对多关联(Collections of values and many-to-many associations)  6.4. 一对多关联  6.5. 延迟...

    NHibernate中文帮组文档(2008.11月更新)

    6. 集合类(Collections)映射 6.1. 持久化集合类 6.2. 集合外键(Collection foreign keys) 6.3. 值集合于多对多关联(Collections of values and many-to-many associations) 6.4. 一对多关联 6.5. 延迟加载 6.6. 有序...

    NHibernate参考文档 2.0.0 chm

    6. 集合类(Collections)映射 6.1. 持久化集合类 6.2. 集合外键(Collection foreign keys) 6.3. 值集合于多对多关联(Collections of values and many-to-many associations) 6.4. 一对多关联 6.5. 延迟加载 6.6. 有序...

    java面试题

    Collections是针对集合类的帮助类,它提供了一系列针对集合的搜索,排序,线程安全化等操作。 final、finally、finalize的区别? 答:final用于声明属性方法和类,分别表示:属性不可变,方法不可覆盖,类不可继承...

Global site tag (gtag.js) - Google Analytics