Hibernate一个查询方法要返回一个对象类型根据代码总结下:
返回查询对象结果
1定义泛型数组
2hibernate Query查询
3把query查询的对象用List接收(转换成List形式)
4用Iterator遍历list 并定义一个Object数组接收(也可以是泛型)Object主要是作为中间变量过渡使用
5把遍历后的结果按字段存入对象的set方法中
6如果有必要在把对象放入集合中
public Org_Info getByorg_code_category(String recommend_flag, String show_category) {
String sql="select o.org_code,o.org_logo,o.org_introduction,o.org_address,o.org_phonenumber,o.recommend_flag,o.show_category from Llt_Org_Info o ,llt_area a where 1=1 and o.area_code=a.id";
sql=sql+" and (o.recommend_flag='"+recommend_flag+"')";
sql=sql+" and (o.show_category='"+show_category+"')";
Query query=getSession().createSQLQuery(sql);
//用Query查询hibernate中query查询后最终返回给List集合
List<Org_Info> datas=query.list();
//List集合比较"散乱"需要提取处理用Iterator做List集合内部的遍历
Iterator iterator=datas.iterator();
Object []result;
Org_Info oi=new Org_Info();
while(iterator.hasNext())
{
//用Object数组接受遍历的每一行数据
result=(Object[])iterator.next();
//在用基础for循环把每个字段提取出
for(int i=0;i<result.length;i++)
{
oi.setOrg_code(result[i].toString());
oi.setOrg_logo(result[i+1].toString());
oi.setOrg_introduction(result[i+2].toString());
oi.setOrg_address(result[i+3].toString());
oi.setOrg_phonenumber(result[i+4].toString());
oi.setRecommend_flag(result[i+5].toString());
oi.setShow_category(result[i+6].toString());
i = i + result.length - 1;
}
}
return oi;
}
相关推荐
在使用Hibernate进行数据库操作时,有时会遇到一个常见的问题,即当从数据库中查询Date类型的数据并由Hibernate返回时,发现结果中的时分秒部分不正确。这个问题通常源于多个因素,包括日期时间的序列化与反序列化...
如果查询返回的是多个对象,可以使用`setResultTransformer()`配合`Transformers.aliasToBean()`将结果集转换为指定类型的对象列表: ```java query.setResultTransformer(Transformers.aliasToBean(MyEntity.class...
Hibernate,作为Java中广泛使用的对象关系映射(ORM)框架,提供了一种优雅的方式来映射枚举类型到数据库。本文将深入探讨Hibernate如何映射枚举类型,并给出实际应用示例。 ### Hibernate枚举映射方式 #### 1. `@...
读取时,Hibernate会自动将数据库中的Clob对象返回,你可以通过调用Clob的`getSubString`或`getCharacterStream`方法来获取内容。 4.2.4 **删除(Delete)**: 删除操作与普通对象的删除相同,只需调用Session的`...
- 结果集转换:`addEntity()`方法用于指定查询结果应被映射到哪个实体类,`list()`或`scroll()`方法执行查询并返回结果集,这些结果集将自动封装为对应的Java对象。 5. 示例: 假设我们有一个`User`实体类,对应...
// 将自由态对象转换为持久态 session.getTransaction().commit(); // 关闭Session,对象变为游离态 session.close(); // 更新游离态对象 user.setPassword("newPassword"); session = sessionFactory....
`UserType`提供了对Java对象和数据库列之间转换的一系列方法,包括获取SQL类型的数组(`sqlTypes()`)、返回对象的Java类(`returnedClass()`)、比较两个对象的持久化相等性(`equals()`)、计算对象的哈希值(`...
- **query**:通过 `find()`、`iterate()` 等方法进行数据库查询,会检查缓存,若有匹配对象则直接返回。 理解 Hibernate 中对象的状态和 Session 缓存的工作机制,对于优化应用程序性能和正确处理数据变更至关重要...
这些方法分别用于处理从数据库读取数据、向数据库写入数据、解析参数、转换对象为SQL字符串等。 3. **配置新的属性**:在映射文件中还需要添加一个新的属性`<param name="key">key</param>`来指定自定义值的键名。 ...
在Java的持久化框架Hibernate中,开发者经常需要根据特定需求查询数据库并返回对象。`Hibernate3` 提供了丰富的API来实现这样的功能,包括使用原生SQL(Native SQL)进行查询,然后将查询结果映射到Java对象上。这篇...
对象在Hibernate中的状态转换通常遵循以下路径: - 从**临时状态**到**持久状态**:通过`Session`的`save`或`saveOrUpdate`方法。 - 从**持久状态**到**游离状态**:通过`Session`的`close`、`clear`或`evict`方法。...
在上面的例子中,`state`字段被显式地转换为`VARCHAR2(2)`类型,确保其作为一个完整的字符串返回,而非单一字符。 #### 解决方案三:修改数据库表结构 从根本上解决问题的方法之一是对数据库中的表结构进行修改,...
读取时,Hibernate会自动将Clob内容转换为String返回。 4.2.4 删除(Delete): 删除操作通常涉及的是整个记录,而不是Clob字段的单独删除,所以只需按照常规方式进行。 在实际应用中,可能还需要考虑性能优化,例如...
HQL可以直接操作对象,避免了类型转换的麻烦。 6. **实体继承**: Hibernate支持单表继承、联合继承和多表继承,可以根据需求选择合适的继承策略。 在"基于hibernate的简单留言本"项目中,理解并熟练掌握以上知识点...
- classmate-1.3.4.jar:提供类元数据的读取,辅助Hibernate进行类型检查和转换。 3. Hibernate关键组件: - Session:是Hibernate的主要工作单元,负责与数据库进行交互,提供了持久化对象的创建、查询、更新和...
Hibernate 是一个开源的对象关系映射(ORM)框架,它允许开发人员将Java对象模型映射到数据库表,并在对象和数据库之间进行转换。在实际开发过程中,我们经常会遇到需要从多个表中获取数据的情况,这时就需要用到连...
1. **对象关系映射(ORM)**:ORM是Hibernate的核心功能,它通过映射XML配置文件或注解,将Java对象与数据库表进行对应,实现了程序中的对象和数据库记录之间的自动转换。 2. **实体类和持久化**:在Hibernate中,...
- **Hibernate映射文件(XML Mapping)**:用于定义Java对象与数据库表之间的映射关系,通过这种方式,Hibernate能够知道如何将Java对象转换为数据库中的记录,反之亦然。 #### 四、Hibernate的使用场景 - **B/S...
5. Hibernate将Java对象转化为SQL语句执行,并将结果转化为Java对象。 6. Service对象处理业务逻辑后,将结果返回给Controller。 7. Controller将结果传递给View,View将数据渲染为HTML响应,返回给用户。 这种架构...
业务逻辑可能涉及对数据库的操作,这时Hibernate作为ORM工具,会将Java对象转换为SQL语句执行,然后将结果再次转换回Java对象返回给控制器。最后,控制器将数据传递给JSP页面,由JSP生成响应并返回给用户。 **Web...