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集合映射配置 在Hibernate的XML映射文件(hbm.xml)或使用JPA的注解中,我们需要指定集合的类型、元素类型、关联字段等信息: ```xml ``` 或者使用注解: ```java @Entity public class ...
本主题将深入探讨Hibernate集合映射与关联关系,包括"student与Score的Map集合关系"、"student与class的多对一"以及"一对多映射"的概念。 首先,让我们理解一下Hibernate中的集合映射。在关系型数据库中,一个实体...
《Hibernate集合映射详解》 Hibernate作为Java领域中的一款强大持久化框架,其核心功能之一就是对象关系映射(ORM),使得开发者可以方便地在Java对象与数据库表之间进行交互。其中,集合映射是Hibernate中非常关键...
Hibernate集合映射是ORM的重要组成部分,它使得Java对象和数据库表之间的关系更加直观和灵活。根据实际需求选择合适的集合类型,可以有效地处理复杂的数据关系。在实际应用中,应结合业务场景、数据特性以及性能需求...
Hibernate集合映射的基本概念 集合映射是Hibernate中一个核心的概念,它允许我们将数据库表中的多对一(OneToMany)、一对多(ManyToOne)、多对多(ManyToMany)等关系映射到Java对象的集合属性上。通过这种方式...
**标题:Hibernate集合映射** **正文:** Hibernate作为Java领域中最流行的ORM(对象关系映射)框架之一,它的核心功能之一就是实现Java对象与数据库表之间的映射。集合映射是Hibernate中一个非常关键的概念,它...
### 常用Hibernate映射配置详解 #### 1. hibernate-mapping节点解析 `hibernate-mapping`节点是Hibernate映射文件中的顶级节点,用于定义一系列配置选项,控制整个映射文件的行为和映射规则。这些配置包括数据库...
综上所述,"Hibernate映射配置实例大全"涵盖的内容广泛,包括基本的配置文件设置、实体类的XML和注解映射、集合映射、加载策略、事务管理和缓存配置等。通过深入学习和实践这些实例,开发者可以熟练地运用Hibernate...
标题中的“hibernate bag ...通过以上信息,我们可以深入了解Hibernate的bag集合映射,包括其配置、使用以及可能遇到的问题。在实际项目中,正确理解和运用这一特性可以大大提高开发效率,同时减少数据库操作的复杂性。
在深入探讨Hibernate集合映射中的`inverse`与`cascade`属性之前,我们首先需要理解Hibernate框架的基本概念。Hibernate是一个开放源代码的对象关系映射(ORM)框架,它为Java应用程序提供了一种将对象模型与数据库...
**二、List集合映射配置** 1. **XML配置**:在Hibernate的映射文件(.hbm.xml)中,使用`<list>`标签定义List集合映射。例如: ```xml ``` 这里的`name`属性指定了集合属性名,`table`是对应的数据库表名...
这种映射可以通过集合类型如List、Set等来表示子项的集合。 2. **多对多关联映射**: 多对多关联是两个实体之间都可以有多个匹配项的情况,比如学生和课程的关系。在Hibernate中,我们可以使用`@ManyToMany`注解来...
本文将深入讲解Hibernate中的集合映射,包括set、list、map和bag的配置与使用。 1. **Set集合映射** Set集合不允许有重复元素,因此在Hibernate中,set映射通常用于表示唯一性关系,如一对多关系。在Hibernate映射...
综上所述,Hibernate映射集合属性List是通过注解或XML配置来实现的,它可以简化数据库操作,使代码更专注于业务逻辑。自动创建表功能则进一步简化了开发流程,而集合操作和懒加载策略则优化了性能。在实际项目中,...
对于数组和集合,如List、Set、Map等,Hibernate提供了ListType、SetType、MapType等映射类型,可以根据实际需求选择。 此外,自定义对象的映射是Hibernate映射中的一个重要部分。通过在实体类上使用@Entity注解,...
### JAVA培训-HIBERNATE的集合映射 #### 概述 本文主要聚焦于Hibernate框架下的集合映射机制,特别是针对`Set`、`List`、`Array`、`Map`、`Bag`五种集合...希望本文能帮助读者更好地理解和应用Hibernate集合映射技术。
在Java的持久化框架Hibernate中,集合映射是至关重要的一个概念,它允许我们将数据库中的表与Java对象的集合属性进行关联。本教程主要讲解了如何在Hibernate中配置和使用集合映射,以便更好地理解和应用这个强大的...
本教程将详细讲解Hibernate中的关联关系映射配置,帮助你理解和掌握如何在Hibernate中设置不同类型的关联。 一、一对一(One-to-One)关联 在现实世界中,两个实体之间可能存在一对一的关系,例如一个人只有一个...