`
neeleon
  • 浏览: 184684 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hibernate入门(八)其它集合类型

阅读更多

说明:在前面我们已经使用过set 集合类型,其实除了set,Hibernate 中还有listBagMap 这三种集合类型。

<!-- [if !supportLists]-->1.    <!-- [endif]-->list 集合的使用:

在前面的“一对多的关系”,已经使用过<set> ,为了保存以前的操作,现重建一个名为“TheCollectionMapping ”的新项目,把以前的“一对多关系”中用到的相关内容复制到此项目下即可。 但有几点需要特别注意:(1 )同样注意导入包,并注意主配置文件对实体配置文件的关联 (2 )需要修改原Department 中的<set> 内容为:private List<Employee> emps ; 并修改原实体配置文件<set> 配置内容为<list> 内容如下:

< list name = "emps" >

           < key column = "depart_id" />

           < list-index column = "order_by" />

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

</ list >   

3 )并注意测试类中相应的修改 (4 )强调说明的是list 查询时,具有顺序性,可以查看此项目下测试类的说明。(5 )再次强调,为了充分理解一些问题,我们可以查看执行后表结构,也可以注释掉一些内容查看异常情况,并学会解决异常。注意配置文件中相关配置的作用,并尝试探索底层实现。

2.bag 集合的使用:

如果在实体类中使用了List 类型的属性,而我们并不希望保证集合顺序(保证集合顺序会采用排序算法,因而会占一些CPU 资源)可以在配置文件中使用<bag>, 它的使用情况与<list> 唯一不同的就是不保证集合顺序。

3.map 集合的使用:

一般是和实体类中java.util.Map 属性进行配合使用,而且使用情况较少。除非某些特殊要求。 总结使用规则:大部分情况下使用<set> ;需要保证集合顺序时使用<list> ;想用java.util.List 而不想保证顺序时,使用〈bag 〉;<map> 作为特殊使用。配置也基本一样,只是在<map> 元素下多了<map-key>

4. 使用集合中的注意事项:

1 )在实体类中集合只能被定义成接口而不能定义成具体类,因为集合会在运行时被替换成Hibernate 的实现,而事实上把实体类的属性定义成接口也更便于扩展及良好的维护。这里不防提出一个原则,“尽量用接口定义”。(2Hibernate 操作List 持久对象时,会用 org.hibernate.collection.PersistentList 重新实现List 接口,操作完成后会把这个实现类重新setXXX 放置。具体请参见TheCollectionMapping 项目下的 OneToManyTest 类说明。其它的集合对象也是一样的道理。

分享到:
评论

相关推荐

    Hibernate入门示例.doc

    【Hibernate入门示例】 Hibernate是一款强大的Java对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者可以使用面向对象的方式处理数据库事务。在本文中,我们将深入探讨Hibernate的核心概念,包括配置...

    Hibernate 入门

    - 本篇概述了Hibernate入门所需了解的关键知识点,从环境搭建到核心概念再到实际应用场景均有涉及。学习Hibernate不仅可以提升开发效率,还能帮助开发者更好地理解ORM框架的工作原理和技术优势。通过上述内容的学习...

    hibernate入门

    ### hibernate入门知识点详解 #### 一、Hibernate简介与应用场景 **Hibernate** 是一款开源的对象关系映射(ORM)框架,它提供了强大的解决方案,用于处理Java应用中的数据持久化问题。对于初学者来说,理解...

    Hibernate基础和入门:新建表和插入表

    14. **集合映射**:例如List、Set、Map等集合类型的字段与数据库表的关联映射。 15. **懒加载和立即加载**:理解何时使用懒加载(延迟加载)以提高性能,以及何时需要立即加载关联对象。 16. **更新和删除操作**:...

    北大青鸟Hibernate学习资料

    本学习资料集合了多个关于Hibernate的重要主题,包括对象关系映射的基础、持久化机制、查询语言以及不同类型的关联关系,旨在帮助学习者深入理解并掌握Hibernate的核心概念和技术。 1. **对象状态及一对多关联** ...

    Hibernate入门

    Hibernate是Java领域中一款强大的对象关系映射(ORM)框架,它...类似地,我们可以配置其他类型的关联,以满足不同场景的需求。学习和掌握Hibernate的关联映射,将极大地提高我们在Java项目中的开发效率和代码质量。

    hibernate入门学习

    在Hibernate中,一对多关系是常见的实体关系映射类型,表示一个实体可以与多个其他实体相关联。例如,一个用户可以有多个订单,这就是一对多关系。配置一对多关系主要涉及以下步骤: 1. 在实体类中定义集合属性,...

    Hibernate 手册中文版chm格式

    1. Hibernate入门:介绍如何设置Hibernate环境,包括JDBC驱动、配置文件(hibernate.cfg.xml)的编写以及实体类的创建。 2. 映射基础:详细解释了如何使用Hibernate的注解或XML文件将Java类映射到数据库表,包括...

    最经典的hibernate教程_从入门到精通_第二篇

    【标题】:“最经典的hibernate教程_从入门到精通_第二篇” 在这个教程中,我们将深入探讨Java持久化框架Hibernate的核心概念和技术,帮助你从初学者逐步成长为精通Hibernate的开发者。作为“从入门到精通”系列的...

    hibernate_reference使用指南全

    例如,如果 `Person` 类有一个集合类型的属性 `Set&lt;PhoneNumber&gt;`,那么就可以定义一个单向集合关联。 - **1.3.3 处理关联** 学习如何在代码中访问和修改关联关系,包括如何使用集合操作方法(如 add、remove 等...

    Hibernate+中文文档

    1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第...

    hibernate验证框架学习

    #### 一、简介与入门 **Hibernate Validator** 是一个流行的 Java 验证框架,它实现了 **JSR 349**(即 Java Bean Validation API)规范,提供了强大的验证功能,帮助开发者确保应用程序中的数据符合预定的规则。本...

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

    1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第...

    HibernateAPI中文版.chm

    1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第...

    hibernate_validator 官方参考文档

    例如,`@NotNull`用于确保一个字段或属性不为空,而`@Size`则可以限制字符串、集合等类型的大小范围。 3. **验证执行**:一旦定义了约束,验证过程通常是自动的,但在某些情况下,你可能需要手动调用`Validator`...

    Hibernate知识点总结(一).docx

    在入门Hibernate的过程中,我们需要完成以下步骤: 1. 导入必要的库:为了使用Hibernate,需要在项目中添加Hibernate的jar包,这些包包含了所有必要的API和依赖,使得我们能够利用其功能。 2. 定义实体类:实体类...

    hibernate说明文档

    #### Hibernate入门与配置 - **配置流程**: 1. **环境搭建**:配置开发环境,包括安装必要的软件和工具,如JDK、IDE等。 2. **创建实体类**:定义Java实体类,用于表示数据库表中的记录。 3. **编写映射文件**...

    Hibernate References

    - Hibernate 支持多种集合类型的映射,例如 List、Set 和 Map 等,可以根据具体需求选择合适的集合类型。 4. **事件监听机制**: - Hibernate 提供了丰富的事件监听机制,可以在特定的时机执行自定义的逻辑,例如...

Global site tag (gtag.js) - Google Analytics