转至:http://blog.csdn.net/lychaox/article/details/6825078
在hibernate中,用hql语句查询实体类,采用list方法的返回结果为一个List,该List中封装的对象分为以下三种情况:
1.查询全部字段的情况下,如"from 实体类",list中封装的对象为实体类本身,各属性都将得到填充。
2.只查询一个字段,默认情况下,list中封装的是Object对象。
3.查询两个或两个以上的字段,默认情况下,list中封装的是Object[],长度与所查询的字段数一致。
strs = (String[])stones.toArray(new String[stones.size()]); 转换成String[]
对于后两种情况,用标签遍历时不太方便,因为无法直接转换成实体类的对象。
比较简单的解决方法是:在hql中使用 select new 包名.类名(属性1,属性2……) from 实体类,
同时在实体类中添加带参的构造方法,参数的个数和顺序与(属性1,属性2……) 保持一致,
这样我们得到的list中存放的依然是实体类的对象,所查询到的属性得到了填充,使用起来更为方便。
分享到:
相关推荐
10. **集合映射**:Hibernate支持多种集合类型(如List、Set、Map等)与数据库表中的多对一、一对多、多对多关系的映射。 11. **事件监听器**:Hibernate允许注册事件监听器,对持久化对象的各种操作(如保存、更新...
它还支持返回结果集,可以将其转化为List、Map或其他类型的集合,以便与Java对象进行映射。 接下来,我们来看看BaseDaoSupport类。在许多企业级应用中,为了提高代码的复用性和可维护性,通常会创建一个基础DAO...
在Java的Hibernate框架中,有时候我们需要执行自定义的SQL查询以获取特定的数据,这时就可以使用SQLQuery接口。本文将深入探讨Hibernate如何通过SQLQuery接口执行原生SQL查询,并展示如何处理查询结果。 一、创建...
8. **关联映射**:Hibernate 支持多种关联类型,如一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)、多对多(ManyToMany),以及集合关联(List, Set, Map等)。 9. **继承映射**:Hibernate 提供了...
4.3 查询:使用Query或Criteria对象构造查询条件,执行后返回结果集,可以是List、单一对象或者迭代器。 4.4 事务管理:在业务逻辑层,可以利用Transaction对象进行事务控制,确保一组操作要么全部成功,要么全部...
6. **查询语言HQL**:Hibernate Query Language(HQL)是Hibernate的查询语言,类似于SQL但面向对象,可以方便地进行复杂的对象查询。 7. ** Criteria API**:另一种强大的查询工具,提供了更动态和类型安全的方式...
- **方言(Dialect)**:方言指定所使用的数据库类型,如 OracleDialect 或 MySQLDialect,以便 Hibernate 能生成适应特定数据库的 SQL 语句。 - **对象持久化(Object Persistence)**:Hibernate 实现了对象的...
### Hibernate SQLQuery 查询Oracle char类型结果为一个字符的解决方法 在使用Hibernate框架结合Oracle数据库进行数据查询时,经常会遇到一个问题:当查询的结果集中包含char类型的字段时,Hibernate可能会将其映射...
8. **集合映射**:Hibernate支持多种集合类型的映射,如List、Set、Map等,允许在Java对象中使用这些集合类型来表示数据库表的关联关系。 9. **多态性支持**:通过继承和多态性,Hibernate可以处理不同类之间的关系...
Hibernate提供了一种灵活的查询语言——HQL(Hibernate Query Language),以及 Criteria 查询和 Criteria API,它们都可以用来获取数据表中的特定字段。 二、Hibernate配置 在使用Hibernate进行查询前,首先需要...
4. HQL(Hibernate Query Language) HQL是Hibernate提供的面向对象的查询语言,类似于SQL,但更接近于Java。它可以用来查询、更新和删除持久化对象。例如,查询所有用户: ```java List<User> users = session....
总结来说,Hibernate的SQLQuery接口提供了丰富的功能,支持本地SQL查询,处理字段冲突,加载关联对象,返回标量值或混合结果,以及利用结果集映射和命名SQL查询来提高代码的可读性和复用性。在实际开发中,灵活运用...
根据提供的文件信息,我们可以深入探讨Hibernate HQL(Hibernate Query Language)的相关知识点,特别是关于其查询功能、连接操作、条件过滤以及聚合函数的应用等。 ### Hibernate HQL简介 Hibernate HQL是一种...
6. **Criteria查询**:除了HQL(Hibernate Query Language)外,Hibernate还提供了Criteria API,一种类型安全的动态查询方式,可以根据条件构造查询。 7. **第二级缓存**:Hibernate支持二级缓存,通过插件如...
`ResultSet.CONCUR_READ_ONLY`则表明只能读取数据。 2. **检查结果集特性**:在对结果集进行任何操作之前,最好先检查它是否支持所需的特性。例如,可以使用`ResultSet.isBeforeFirst()`、`ResultSet.isAfterLast()...
查询数据的方法有两种实现,一种是基于HQL(Hibernate Query Language),另一种是基于原生SQL。 - 基于HQL的通用查询: HQL是Hibernate提供的面向对象的查询语言,可以方便地操作对象和属性。`select`方法接收一个...
本文将深入探讨如何在Hibernate中利用查询条件创建List集合,这在处理复杂的数据筛选和聚合时尤其有用。 首先,让我们理解在Hibernate中创建List集合的基本概念。List集合是Java集合框架的一部分,它可以存储有序且...
5.2. Hibernate 的类型 5.2.1. 实体(Entities)和值(values) 5.2.2. 基本值类型 5.2.3. 自定义值类型 5.3. 多次映射同一个类 5.4. SQL中引号包围的标识符 5.5. 其他元数据(Metadata) 5.5.1. 使用 XDoclet 标记...
<property name="hibernate.cache.use_query_cache">true <property name="hibernate.ejb.entitymanager_factory_name">hibernateSessionFactory ``` 同时,在实体类中使用 @Type 注解指定自定义类型: ```java @...