`
ch_space
  • 浏览: 111384 次
  • 性别: Icon_minigender_1
  • 来自: 农村进城务工人员
社区版块
存档分类
最新评论

hibernate学习笔记10---集合映射

阅读更多
1、set
前面已经介绍了set的使用,这里只是介绍一下其中的element元素:
如果一对多中多方的表字段很少,可以不必单独建立映射文件,使用element更加方便
如:Company--Dept
dept表只有公司id:compid,部门名称:name
那么使用上述方法更简洁:
<set name="depts" table="dept">
   <key column="compid"/>
   <element column="name" type="string"/>
</set>

在Company.java中设置一个Set<Dept> depts属性就可以了,element中的column="name"即表示关联表dept的name字段。

2、list
list可以设置index元素实现排序,允许集合中出现重复元素。
假设可以有部门具有相同的名称,在dept表中增加一个员工人数字段empno:
<list name="depts" table="dept">
   <key column="compid"/>
   <index column="empno"/>
   <element column="name" type="string"/>
</list>

其余与set一样配置,这样可以实现按照员工人数empno排序。

3、map
map可以在语义上更清晰的指出集合中有哪些内容:
<map name="depts" table="dept">
   <key column="compid"/>
   <index column="empno"/>
   <element column="name" type="string"/>
</map>

这样,我们可以用下列代码更清楚地描述我们在存取什么,而不是简单地遍历Set:
company.getDepts.put("销售部",dept1);
company.getDepts.put("市场部",dept2);

查询的时候也一样。
map也可以实现排序,默认升序,如果要降序,需要用TreeMap,并在其构造函数中传入实现了Comparator接口的实例[要自己写一个实现类]:Map m=new TreeMap(new MyComparator())

4、bag
bag并非java api的一个接口,只是hibernate提供的一个模拟行为,bag可以存放重复对象,并且不排序(结合了set与list的特点)。

另外,idbag、list没有inverse="true"的属性,而bag与set可以设置inverse="true"
分享到:
评论

相关推荐

    Hibernate学习笔记特别详细

    《Hibernate学习笔记特别详细》 Hibernate,作为一款开源的Object-Relational Mapping(ORM)框架,为Java开发者提供了强大的数据库操作支持。它简化了数据库访问的复杂性,使得开发人员可以像操作对象一样操作...

    Hibernate学习笔记(1-13)

    【Hibernate学习笔记(1-13)】是传智播客李勇的教程,涵盖了Hibernate框架的基础到进阶内容。Hibernate是一个流行的ORM(对象关系映射)框架,它旨在解决Java面向对象编程与关系型数据库之间的模型不匹配问题,即...

    达内HIBERNATE学习笔记

    根据提供的信息,我们可以总结出以下关于达内HIBERNATE学习笔记的重要知识点: ### 第一章:Hibernate入门 #### 1.1 学习目标 - 理解Hibernate的基本概念。 - 掌握如何使用Hibernate进行开发。 #### 1.2 对象持久...

    hibernate学习笔记

    综上所述,这份"hibernate学习笔记"全面覆盖了Hibernate的主要方面,包括对象生命周期管理、对象关系映射、查询方式以及性能优化。对于希望深入理解和掌握Hibernate的开发者来说,这是一个非常宝贵的资源。

    hibernate-note学习笔记

    ### hibernate-note学习笔记知识点详解 #### 一、对象持久化 **1.1 概述** 对象持久化是指将程序中的对象状态保存到非易失性存储中(如硬盘或磁盘等),以便在系统重启后仍能保留这些状态。这种技术常用于将对象的...

    hibernate 学习笔记3

    标题:Hibernate学习笔记3 描述:本篇笔记深入探讨了Hibernate框架中一对多关系的映射及持久化对象状态管理,结合个人理解与实践经验,旨在为读者提供一份详实的学习资料。 ### 一、一对多关系映射详解 在...

    Hibernate 的学习笔记

    ### Hibernate 学习笔记知识点详解 #### 一、Hibernate 简介 - **概念**:Hibernate 是一种“对象/关系映射”(Object/Relational Mapping,简称 ORM)技术,用于解决 Java 应用程序与关系型数据库交互的问题。 - *...

    Hibernate学习笔记_songjignhao_1

    在本篇 Hibernate 学习笔记中,我们将深入探讨多种关联关系的映射,以及相关概念。Hibernate 是一个流行的对象关系映射(ORM)框架,它允许开发者使用 Java 对象来操作数据库,简化了数据访问层的开发工作。 首先,...

    2023年Java相关课程系列笔记之十四Hibernate学习笔记.doc

    在本篇“2023年Java相关课程系列笔记之十四Hibernate学习笔记”中,我们将深入探讨Java开发中常用的持久化框架——Hibernate。这个框架由梁建全老师主讲,旨在帮助开发者更高效、便捷地进行数据库操作,弥补JDBC在...

    Hibernate学习笔记!

    **Hibernate学习笔记** Hibernate是一个强大的Java对象关系映射(ORM)框架,它为开发者提供了在Java应用程序中操作数据库的强大工具。本笔记将深入探讨Hibernate的核心概念、配置、实体管理、查询语言以及最佳实践...

    Hibernate3 学习笔记.ppt

    使用Hibernate,开发者可以遵循一定的原则来设计持久化类,如定义get/set方法、提供默认构造器、使用集合接口类型和标识属性。此外,还需要通过Configuration类配置Hibernate,包括数据库连接信息、映射文件等。 ...

    Hibernate学习笔记,使用Hibernate做数据层非常方便

    【Hibernate学习笔记,使用Hibernate做数据层非常方便】 在Java开发中,Hibernate是一个非常流行的ORM(Object-Relational Mapping)框架,它简化了数据库操作,将数据库中的表映射为Java对象,使得开发者可以像...

    hibernate学习笔记(全)

    【hibernate学习笔记(全)】是一份全面介绍Hibernate框架的资料,涵盖了从基础到高级的诸多知识点。Hibernate作为Java领域中一个流行的持久化框架,它极大地简化了数据库操作,使得开发者可以更加专注于业务逻辑而...

    Hibernate学习笔记(三)

    在本篇“Hibernate学习笔记(三)”中,我们将深入探讨Hibernate这一强大的Java对象关系映射(ORM)框架。Hibernate简化了数据库操作,使得开发者能够更专注于业务逻辑,而不是底层的SQL查询。这篇笔记主要围绕...

Global site tag (gtag.js) - Google Analytics