集合映射(set, list, array,bag, map)
这些集合类都是Hibernate实现的类和JAVA中的集合类不完全一样,set,list,map分别和JAVA中的Set,List,Map接口对应,
bag映射成JAVA的List;这些集合的使用和JAVA集合中对应的接口基本一致;在JAVA的实体类中集合只能定义成接口不能定义
成具体类, 因为集合会在运行时被替换成Hibernate的实现。
集合的简单使用原则:大部分情况下用set,需要保证集合中的顺序用list,想用java.util.List又不需要保证顺序用bag。
集合映射(set, list, array,bag, map)
这些集合类都是Hibernate实现的类和JAVA中的集合类不完全一样,set,list,map分别和JAVA中的Set,List,Map接口对应,
bag映射成JAVA的List;这些集合的使用和JAVA集合中对应的接口基本一致;在JAVA的实体类中集合只能定义成接口不能定义
成具体类, 因为集合会在运行时被替换成Hibernate的实现。
理解:就是说在hibernate中这些集合类型的数据,在hibernate中具体的实现类中,都只是实现其接口,Set List Map其实在
java中都是接口,但是hibernate并没有继承其实现的类,所以我们在使用hibernate,定义其持久化的实体不应该出现其集合类
的接口的实现类的数据,否则在hibernate无法进行内部处理,比如说HashSet是Set的实现类,在一个持久化类的实体的属性中
不要去使用HashSet作为其属性类型,否则hibernate内部无法进行转换,而出现转换错误异常,在获取其集合类的数据,如果进行
强制类型向下转型也会出现同样的异常,因为经过hibernate处理后的数据,都只是一个集合接口的实现类,但是并没有实现其
集合接口的继承的类,所以在经过处理后是无法进行转换的 在hibernate看来,你要转换的数据跟要转换的类型根本就不匹配
end 完毕!
分享到:
相关推荐
在Hibernate的XML映射文件(hbm.xml)或使用JPA的注解中,我们需要指定集合的类型、元素类型、关联字段等信息: ```xml ``` 或者使用注解: ```java @Entity public class User { @OneToMany(mappedBy =...
在Hibernate的映射文件(.hbm.xml)中,我们通常使用`<set>`, `<list>`, `<map>`等标签来定义集合映射。每个标签都有对应的属性,例如: - `name`: 对象属性名。 - `table`: 所映射的数据库表名。 - `inverse`: ...
Hibernate集合映射是ORM的重要组成部分,它使得Java对象和数据库表之间的关系更加直观和灵活。根据实际需求选择合适的集合类型,可以有效地处理复杂的数据关系。在实际应用中,应结合业务场景、数据特性以及性能需求...
总结,使用Hibernate在查询条件中创建List集合是Java开发中常见的操作,无论是通过HQL还是Criteria API,都能灵活、高效地处理复杂的查询需求。在实际开发中,我们应该根据项目需求和团队习惯选择合适的查询方式,并...
### Hibernate中Example的用法详解 #### 一、前言 ...通过本文的介绍,相信你已经对`Example`的使用有了全面的认识,接下来不妨在实际项目中尝试运用这些技巧,以提高你的Hibernate应用开发水平。
6. 集合类映射:在Java中集合是常用的,Hibernate支持集合类的映射,这部分将解释如何映射List、Set、Map等集合类型。 7. 组件映射:当一个类的属性是由其他几个类的属性组合而成时,可以使用组件映射。这部分内容...
确保对文档中使用的专业术语和缩写进行清晰解释,例如 ORM、HBM、JPA 等。 ### 2. 对象关系 2.1 **OO中的对象关系** 在面向对象编程中,对象通过继承、封装和多态性建立关系。 2.2 **HBM中的对象关系** Hibernate...
使用 Criteria 进行查询,主要要清晰的是 Hibernate 提供了那些类和方法来满足开发中查询条件的创建和组装。Criteria crit = session.createCriteria(User.class); crit.add(Restrictions.eq("name", "John")); List...
8.2. 在集合中出现的依赖对象 (Collections of dependent objects) 8.3. 组件作为Map的索引(Components as Map indices ) 8.4. 组件作为联合标识符(Components as composite identifiers) 8.5. 动态组件 ...
在本文中,我们将深入探讨Hibernate Validator的基本概念、内置约束、自定义约束以及注解的使用,帮助新手入门并巩固高手的技能。 一、Hibernate Validator 简介 Hibernate Validator是Hibernate项目的一部分,...
总结来说,DAO模式在Hibernate中的应用,结合存储过程实现分页,是一种有效的数据访问和管理策略。它降低了代码的耦合度,提高了代码的可读性和可测试性,同时也优化了数据库操作的性能,特别是对于大规模数据的处理...
这四个概念在处理对象关系映射(ORM)时非常重要,尤其是在Java环境下使用Hibernate框架进行数据库操作时。 ### Hibernate Fetch 模式 在Hibernate中,Fetch模式用于控制关联数据的加载方式。主要有两种取值:`...
在开始使用Hibernate 4.1之前,需要将其依赖库添加到项目的类路径中。通常,这可以通过Maven或Gradle等构建工具完成。配置文件`hibernate.cfg.xml`用于设置数据库连接信息,包括URL、用户名、密码、驱动类等。 三、...
在探讨Hibernate中List信息的配置时,我们主要聚焦于如何在ORM(对象关系映射)框架下有效地管理和操作集合类型,尤其是List、Set以及Map。本文将深入解析List与Set在Hibernate中的映射机制,同时也会简要提及Map的...
Hibernate3 是一个强大的Java持久化框架,用于简化数据库与对象之间的交互。它是对象关系映射(ORM)工具的典范,允许开发...在实际项目中,正确配置和使用Hibernate,可以有效地实现数据的持久化,同时降低维护成本。
- **映射一对多关联**: 如何在一对多关联中使用外键或联合表。 - **自然id**: 使用非主键属性作为唯一标识。 - **任意**: 映射任意类型的数据。 - **属性**: 更多关于属性映射的细节。 - **hbm.xml特异性**: 在`.hbm...
- 介绍如何在Servlet中使用Hibernate来处理业务逻辑,并将结果呈现给用户。 - **1.4.3 部署与测试** - 提供部署和测试该web应用的具体步骤。 - **1.5 总结** - 对本章内容进行总结,并强调了理解Hibernate基本...