`

Hibernate集合映射配置

 
阅读更多

1. Set映射
    <set name="映射的类的名字例如com.hibernate.Student" table="表名">
        <key>
             <column name="表中的外键名称"/>
        </key>
        <element column="你所需要的表中的字段名" type="映射类型"/>
    </set>

    例如父子表关系配置:

    <set name="childDesignTaskMain" cascade="none" inverse="true" lazy="false" fetch="select">
        <key column="designTaskMainIdParent" />
        <one-to-many class="com.targ.projectManager.designtask.domain.DesignTaskMain"/>
    </set>

2. List映射
    List映射用到的List是有顺序的结构,因此需要在所映射的表中设一个字段用于进行顺序标记,需在表中加入以下字

    段'Ind' int(10) unsigned default NULL
    <list name="映射的类的名字例如com.hibernate.Student" table="表名" inverse="false" 

            cascade="all" fetch="join">
           <key>
                <column name="cno"/>
           </key>
           <index column="Ind"/>
           <one-to-many class="对应的关联类的名字例如com.hibernate.Course"/>
    </list>

3. Bag映射
    Bag并不是Java中的接口,它是Hibernate提供的集合。Bag中可以有重复的元素,但是Bag中的元素没有顺序。
   <bag name="映射的类的名字例如com.hibernate.Student" table="" inverse="false" cascade="all">
          <key>
                 <column name="主键"/>
          </key>
          <one-to-many clas="对应的关联类的名字例如com.hibernate.Course">
   </bag>
   inverse="false",表示由一的一端维护级联操作;

   例如:

   <bag name="designTaskChildList" cascade="all" inverse="false" lazy="false" fetch="select">
         <key>
             <column name="designTaskMainId"></column>
         </key>
         <one-to-many class="com.targ.projectManager.designTaskChild.domain.DesignTaskChild"  

             not-found="ignore"/>
   </bag>

   在对应的关联类的配置文件要加入以下信息
   <many-to-one name="designTaskMain" class="com.targ.projectManager.designtask.domain

        .DesignTaskMain"not-found="ignore" insert="false" update="false" lazy="false"

        fetch="select">
        <column name="designTaskMainId" />
   </many-to-one>

   designTaskMain为该类中的变量名
   designTaskMainId为数据库中的属性名
   如果有大量的重复数据,<bag>标签的效率会比较低,它在更新数据时采用的是先删除要更新的数据,然后插入

   数据。使用<idbag>标签可以避免这种情况。

4. <idbag>

    首先在数据库中增加字段
    'bagid' int(10) unsigned default NULL COMMENT 'bagid'
    <idbag name="映射的类的名字例如com.hibernate.Student" table="" cascade="save-update">
          <collection-id column="bagid" type="integer">
               <generator class="increment"></generator>
          </collection-id>
          <key>
              <column name="id"/>
          </key>
          <element column="cname" type="string"/>
    </idbag>

    可参考:http://www.360doc.com/content/09/0210/22/18042_2510021.shtml
5. Map映射
    Map是JAVA的一个接口,它是一种重要的集合,它使用key/value方式存储数据;
    Map具有较高的存取性能,不允许存放重复的key值但允许有重复的value值;
    Map映射需要增加一个KeyName字段记录Key的值。
    <map name="映射的类的名字例如com.hibernate.Student' table="">
        <key column=""/>
        <intdex column="keyname" type="string"/>
        <element column="cname" type="string"/>
    </map>

6. 参考:http://www.blogjava.net/lyyb2001/archive/2008/12/10/245497.html

    http://ryxxlong.iteye.com/blog/626416

    http://hi.baidu.com/fytcm/blog/item/0e16a0332f399948ac4b5f0d.html

分享到:
评论

相关推荐

    hibernate set 集合映射

    ### Hibernate集合映射配置 在Hibernate的XML映射文件(hbm.xml)或使用JPA的注解中,我们需要指定集合的类型、元素类型、关联字段等信息: ```xml ``` 或者使用注解: ```java @Entity public class ...

    Hibernate集合映射与关联关系

    本主题将深入探讨Hibernate集合映射与关联关系,包括"student与Score的Map集合关系"、"student与class的多对一"以及"一对多映射"的概念。 首先,让我们理解一下Hibernate中的集合映射。在关系型数据库中,一个实体...

    [原]Hibernate集合映射

    《Hibernate集合映射详解》 Hibernate作为Java领域中的一款强大持久化框架,其核心功能之一就是对象关系映射(ORM),使得开发者可以方便地在Java对象与数据库表之间进行交互。其中,集合映射是Hibernate中非常关键...

    hibernate集合的映射

    Hibernate集合映射是ORM的重要组成部分,它使得Java对象和数据库表之间的关系更加直观和灵活。根据实际需求选择合适的集合类型,可以有效地处理复杂的数据关系。在实际应用中,应结合业务场景、数据特性以及性能需求...

    hibernate map 集合映射

    Hibernate集合映射的基本概念 集合映射是Hibernate中一个核心的概念,它允许我们将数据库表中的多对一(OneToMany)、一对多(ManyToOne)、多对多(ManyToMany)等关系映射到Java对象的集合属性上。通过这种方式...

    Hibernate集合映射

    **标题:Hibernate集合映射** **正文:** Hibernate作为Java领域中最流行的ORM(对象关系映射)框架之一,它的核心功能之一就是实现Java对象与数据库表之间的映射。集合映射是Hibernate中一个非常关键的概念,它...

    常用 Hibernate 映射配置说明.doc

    ### 常用Hibernate映射配置详解 #### 1. hibernate-mapping节点解析 `hibernate-mapping`节点是Hibernate映射文件中的顶级节点,用于定义一系列配置选项,控制整个映射文件的行为和映射规则。这些配置包括数据库...

    Hibernate映射配置实例大全(详细总结)

    综上所述,"Hibernate映射配置实例大全"涵盖的内容广泛,包括基本的配置文件设置、实体类的XML和注解映射、集合映射、加载策略、事务管理和缓存配置等。通过深入学习和实践这些实例,开发者可以熟练地运用Hibernate...

    hibernate bag 集合映射

    标题中的“hibernate bag ...通过以上信息,我们可以深入了解Hibernate的bag集合映射,包括其配置、使用以及可能遇到的问题。在实际项目中,正确理解和运用这一特性可以大大提高开发效率,同时减少数据库操作的复杂性。

    hibernate集合映射inverse和cascade详解.txt

    在深入探讨Hibernate集合映射中的`inverse`与`cascade`属性之前,我们首先需要理解Hibernate框架的基本概念。Hibernate是一个开放源代码的对象关系映射(ORM)框架,它为Java应用程序提供了一种将对象模型与数据库...

    hibernate list集合映射

    **二、List集合映射配置** 1. **XML配置**:在Hibernate的映射文件(.hbm.xml)中,使用`&lt;list&gt;`标签定义List集合映射。例如: ```xml ``` 这里的`name`属性指定了集合属性名,`table`是对应的数据库表名...

    hibernate关联映射实例

    这种映射可以通过集合类型如List、Set等来表示子项的集合。 2. **多对多关联映射**: 多对多关联是两个实体之间都可以有多个匹配项的情况,比如学生和课程的关系。在Hibernate中,我们可以使用`@ManyToMany`注解来...

    hibernate 集合映射

    本文将深入讲解Hibernate中的集合映射,包括set、list、map和bag的配置与使用。 1. **Set集合映射** Set集合不允许有重复元素,因此在Hibernate中,set映射通常用于表示唯一性关系,如一对多关系。在Hibernate映射...

    Hibernate映射集合属性List

    综上所述,Hibernate映射集合属性List是通过注解或XML配置来实现的,它可以简化数据库操作,使代码更专注于业务逻辑。自动创建表功能则进一步简化了开发流程,而集合操作和懒加载策略则优化了性能。在实际项目中,...

    JAVA数据类型与Hibernate的类型映射

    对于数组和集合,如List、Set、Map等,Hibernate提供了ListType、SetType、MapType等映射类型,可以根据实际需求选择。 此外,自定义对象的映射是Hibernate映射中的一个重要部分。通过在实体类上使用@Entity注解,...

    JAVA培训-HIBERNATE的集合映射.doc

    ### JAVA培训-HIBERNATE的集合映射 #### 概述 本文主要聚焦于Hibernate框架下的集合映射机制,特别是针对`Set`、`List`、`Array`、`Map`、`Bag`五种集合...希望本文能帮助读者更好地理解和应用Hibernate集合映射技术。

    Hibernate教程16_集合映射

    在Java的持久化框架Hibernate中,集合映射是至关重要的一个概念,它允许我们将数据库中的表与Java对象的集合属性进行关联。本教程主要讲解了如何在Hibernate中配置和使用集合映射,以便更好地理解和应用这个强大的...

    Hibernate_关联关系映射配置

    本教程将详细讲解Hibernate中的关联关系映射配置,帮助你理解和掌握如何在Hibernate中设置不同类型的关联。 一、一对一(One-to-One)关联 在现实世界中,两个实体之间可能存在一对一的关系,例如一个人只有一个...

Global site tag (gtag.js) - Google Analytics