今天在使用hibernate SQLQuery 做类似
select t.* ,'aa' from T t
的查询时,出现了查询结果中 'aa' 列 只有一个字符 a, 经查证,oracle 会将 'aa' 这样的列作为 char 类型类处理,而hibernate 默认则将 char 影射为 Java 的Character类,造成字符串被截断,只显示首个字符,而对于oracle中类型为char的列也同样会出现这种情况。
解决方法:
1、对于数据库中的列,可以修改类型为varchar2;
2、在sql中转化数据类型为varchar2;
select cast(flied as varchar2(100)) from table
或者
select cast('aa' as varchar2(2)) from table
3、可以用SQLQuery addScalar(String arg,Type type)方法定义要返回的字段类型.
query.addScalar('FIELDNAME',Hibernate.STRING);
但我在使用第三种方法时出现了所有列值都变成 aa 的情况,不知是哪里使的不对,请明白的仁兄给出指点。
分享到:
相关推荐
在Java的持久化框架Hibernate中,SQLQuery是用于执行自定义SQL语句的重要工具,它允许开发者绕过ORM(对象关系映射)的抽象层,直接与数据库进行交互。这篇博客"Hibernate SQLQuery 本地查询"可能详细讲解了如何利用...
在Java的Hibernate框架中,有时候我们需要执行自定义的SQL查询以获取特定的数据,这时就可以使用SQLQuery接口。本文将深入探讨Hibernate如何通过SQLQuery接口执行原生SQL查询,并展示如何处理查询结果。 一、创建...
### Hibernate SQLQuery 查询Oracle char类型结果为一个字符的解决方法 在使用Hibernate框架结合Oracle数据库进行数据查询时,经常会遇到一个问题:当查询的结果集中包含char类型的字段时,Hibernate可能会将其映射...
hibernate sql hqlsql
1. **HQL(Hibernate Query Language)调用**: ```sql SELECT * FROM table as model ORDER BY subnamestr(model.name), subnamenum(model.name); ``` 2. **SQL调用**: ```sql SELECT * FROM table as model ...
在某些情况下,开发者可能需要使用原生SQL查询来执行特定的数据库操作,这时就可以利用Hibernate的SQLQuery功能。本文将详细讲解如何使用Hibernate的SQLQuery进行本地SQL查询。 首先,创建SQLQuery实例是通过...
fix包 博文链接:https://raymondhekk.iteye.com/blog/250427
在这个“hibernate 实践 - Query详解”的主题中,我们将深入理解如何使用Query接口来执行SQL查询,并绑定参数。 1. **Query接口** Query接口是Hibernate提供的一种用于执行HQL(Hibernate查询语言)或SQL查询的API...
这可以通过字符串拼接实现,但需要注意防止SQL注入攻击。 ```java String sf = "select sum(c.productid) productSum, p.cityid cityName from a_chip c, a_productboxlog p where c.u_id = p.u_id"; // ...条件...
HQL(Hibernate Query Language)是Hibernate提供的一个SQL的面向对象的查询语言,它使得开发者可以避免直接编写SQL语句,从而更好地进行数据库操作。本文将深入探讨“hibernate hql where语句拼接工具类”,并结合...
Hibernate 提供了多种方式来执行原生 SQL 语句,其中之一是使用 `Session.createSQLQuery()` 方法,该方法返回一个 `SQLQuery` 对象,该对象提供了执行原生 SQL 语句的方法。 例如,我们可以使用以下代码来执行一个...
首先,让我们了解一下Hibernate中的HQL(Hibernate Query Language),它是Hibernate提供的面向对象的查询语言,类似于SQL,但更贴近于Java。在HQL中,我们可以方便地使用聚合函数进行数据处理。例如,如果你想要...
首先,本地SQL查询(Native SQL)是指直接在Hibernate中使用原生的SQL语句进行查询,而不是使用HQL(Hibernate Query Language)。这允许开发者充分利用SQL的功能,比如进行复杂的统计计算或者处理特定数据库的特性...
《Hibernate中的本地SQL查询SQLQuery》 在Java的持久化框架Hibernate中,有时我们需要使用原生的SQL查询来实现特定的数据库操作,这时就需要利用到SQLQuery接口。本篇文章将详细解析如何使用Hibernate的SQLQuery来...
这个方法接收一个SQL字符串,通过Session获取数据库连接,创建PreparedStatement,执行查询,处理结果集,将其转换为ArrayList并返回。注意,这种方法需要手动处理列名和数据的映射。 ```java public ArrayList ...
在本篇文章中,我们将深入探讨如何使用 Java 编程语言结合 iBatis 框架进行 SQL 字符串的动态拼接。通过分析提供的代码片段,我们可以了解到在实际开发过程中,这种动态 SQL 的构建方式非常常见,尤其是在处理复杂的...
为了实现动态SQL,我们可以借助于Hibernate的QBC(Query By Criteria)和Criteria API,或者使用第三方库如MyBatis的动态SQL功能。本文主要讨论使用XML配置和FREEMARKER的方法。 四、XML配置SQL 在Hibernate中,...
Ajax+Spring+Hibernate sql Ajax+Spring+Hibernate sql Ajax+Spring+Hibernate sql Ajax+Spring+Hibernate sql Ajax+Spring+Hibernate sql Ajax+Spring+Hibernate sql