- 浏览: 1364124 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (551)
- 计划 (4)
- java (115)
- oracle (60)
- ajax (3)
- javascript (64)
- 计算机操作技巧集 (11)
- 近期关注话题 (10)
- 随想 (13)
- html (6)
- struts (15)
- hibernate (16)
- spring (2)
- game (0)
- Eglish (10)
- DisplayTag (6)
- jsp (18)
- css (3)
- eclipse (3)
- 其他知识 (8)
- 备用1 (12)
- 备用2 (1)
- 笑话-放松心情 (9)
- 设计 (1)
- 设计模式 (1)
- 数据结构 (0)
- office办公软件 (5)
- webwork (0)
- tomcat (2)
- MySql (1)
- 我的链接资源 (5)
- xml (2)
- servlet (0)
- PHP (13)
- DOM (0)
- 网页画图vml,canvas (1)
- 协议 (2)
- 健康 (3)
- 书籍下载 (1)
- jbpm (1)
- EXT (1)
- 自考 (2)
- 报表 (4)
- 生活 (64)
- 操作系统基础知识 (2)
- 测试 (2)
- guice (1)
- google学习 (2)
- Erlang (1)
- LOG4J (2)
- wicket (1)
- 考研 (1)
- 法律 (1)
- 地震 (1)
- 易学-等等相关 (1)
- 音乐 (1)
- 建站 (4)
- 分享说 (3)
- 购物省钱 (0)
- linux (1)
最新评论
-
zenmshuo:
如果使用SpreadJS这一类的表格工具,应该能更好的实现这些 ...
js中excel的用法 -
hjhj2991708:
第一个已经使用不了
jar包查询网站 非常好用! -
jiangmeiwei:
...
中文乱码 我的总结 不断更新 -
gary_bu:
...
response.sendRedirect 中文乱码问题解决 -
hnez:
多谢指点,怎么调试也不通,原来我在<body>&l ...
ExtJs IE ownerDocument.createRange() 错误解决方案
public List findByGroupByMaterial(String date1,String date2){ try { StringBuffer hql = new StringBuffer(); hql.append("SELECT t.mt_material_id ID, ") .append(" t1.name mt_name, ") .append(" t1.code MT_CODE, ") .append(" SUM(t.num)NUM, ") .append(" SUM(decode((SELECT substr(s.code, ") .append(" 0, ") .append(" 3) ") .append(" FROM im_affair_type s ") .append(" WHERE s.id = t.im_affair_type_id), ") .append(" 'imp', ") .append(" 1, ") .append(" 'exp', ") .append(" -1) * t.num * t.price) MONEY ") .append("FROM im_affair t, ") .append(" mt_material t1 ") .append("WHERE t.mt_material_id = t1.id AND ") .append(" To_date('"+date1+"', ") .append(" 'yyyy-mm-dd') <= ") .append(" t.accountant_date AND ") .append(" t.accountant_date >= ") .append(" To_date('"+date2+"', ") .append(" 'yyyy-mm-dd') ") // .append(" t.accountant_date BETWEEN ") // .append(" To_date('"+date1+"', ") // .append(" 'yyyy-mm-dd') AND ") // .append(" To_date('"+date2+"', ") // .append(" 'yyyy-mm-dd') ") .append("GROUP BY t.mt_material_id, ") .append(" t1.NAME, ") .append(" t1.code "); List list = session.createSQLQuery(hql.toString()) .addScalar("ID", Hibernate.LONG)//这里ID要用大写才对,不然会报列名错误 .addScalar("MT_NAME", Hibernate.STRING)// .addScalar("MT_CODE", Hibernate.STRING) .addScalar("NUM", Hibernate.DOUBLE) .addScalar("MONEY", Hibernate.DOUBLE)//同上,都要大写 .list(); log.info("findByGroupByMaterial successful and the list size is "+list.size()); return list; } catch (HibernateException e) { // TODO Auto-generated catch block e.printStackTrace(); throw e; } }
发表评论
-
hibernate技巧 封装查询结果 初学者必看
2009-11-26 09:47 2733简单说明:本文章内容与我的网站 天天成长的博客的文章是同步写作 ... -
Hibernate, Oracle, Sequences, Triggers
2009-06-29 16:49 2425有困难,找猪八戒 请看原文: http://www.julie ... -
hibernate 技巧
2008-05-10 10:39 1767http://www.javalobby.org/articl ... -
使用hibernate 一个表 映射 两个类
2008-04-25 21:51 2005可以将一个表映射成为两个类,方法就是写针对此表写两个映射文件, ... -
hiberante 查询问题 格式化日期
2008-04-23 11:13 6463如果数据库中的日期字段格式是 年月日 时分秒,那么在用hibe ... -
hibernate 查询时 对日期的比较
2008-04-22 14:17 15992http://www.roseindia.net/hibern ... -
hibernate资源
2008-04-07 10:41 1165myeclipse应用hibernate,包括视频教程 htt ... -
实现hibernate单表的查询 参数传递
2008-03-12 14:40 1937public void testHibernate(){ ... -
hibernate分页
2007-10-24 21:20 1145http://displaytag.sourceforge.n ... -
hibernate 支持 to_char 方法 不用本地SQL
2007-10-19 20:05 4133from YourPOJO a where to_char(a ... -
hibernate 映射 视图 view
2007-10-18 18:28 3851摘自http://www.hibernate.org/hib_ ... -
[转]在Hibernate中处理批量更新和批量删除 hibernate batch update and insert
2007-10-16 10:19 5460转:http://java.ccidnet.com/art/3 ... -
Hibernate commit() 和flush() 的区别
2007-10-15 17:24 2739Hibernate commit() 和flush() 的区别 ... -
hibernate 批量插入
2007-09-27 18:58 2106StringBuffer sql = new StringBu ... -
Hibernate条件查询(Criteria Query)
2007-08-25 15:18 2037Hibernate条件查询(Criteria Query) - ...
相关推荐
Double max = (Double) sess.createSQLQuery("select max(cat.weight) as maxWeight from cats cat").addScalar("maxWeight", Hibernate.DOUBLE).uniqueResult(); ``` 这个查询返回了 cats 表中 weight 列的最大值。...
Hibernate 中的 createQuery 和 createSqlQuery 区别详解 ...此外,createQuery 方法使用 HQL 语句,而 createSqlQuery 方法使用原生态的 SQL 语句。因此,在选择使用哪种方法时,需要根据实际情况进行考虑。
使用 SQLQuery 可以执行 Native SQL 查询,控制查询的执行是通过 SQLQuery 接口进行的,可以使用 addScalar() 方法指定返回值的类型,也可以使用 addEntity() 方法让原生查询返回实体对象,另外还可以使用 addJoin()...
要执行原生SQL查询,可以使用`Session`对象的`createSQLQuery()`方法: ```java Session session = HibernateUtil.getSessionFactory().openSession(); SQLQuery query = session.createSQLQuery("SELECT id, name ...
在本例中,使用了`addScalar`方法指定结果集中的列名及其对应的Java类型,并使用`setResultTransformer`设置结果转换器为`Transformers.aliasToBean(SumPlace.class)`。 ```java query1.addScalar("productSum", ...
当SQL查询的结果包含部分实体属性时,可以使用`addScalar()`方法指定列与对象属性的映射。比如,以下代码展示了如何将SQL查询的结果映射到`Guestbook`对象的特定字段: ```java String sql = "select id, name, ...
在上面的代码中,我们使用 setResultTransformer() 方法将查询结果转换为 Map 对象,然后使用 addScalar() 方法将 SUMID 字段转换为 Integer 类型。 setResultTransformer() 方法是 Query 对象的一个重要方法,可以...
- **类型转换**: Hibernate不会自动将查询结果转换为对象,需要使用addScalar()或addEntity()指定映射规则。 - **SQL优化**: 考虑到性能,尽量避免过多使用原生SQL,因为这可能会丢失ORM的一些好处,如缓存、连接池...
如果存储过程有返回值,可以使用addScalar方法指定返回值类型并映射到Java对象。如果返回多条记录,可以使用list方法获取结果集。例如: ```java query.addScalar("returnColumn", Hibernate.INTEGER); List...
在某些情况下,开发者可能需要使用原生SQL查询来执行特定的数据库操作,这时就可以利用Hibernate的SQLQuery功能。本文将详细讲解如何使用Hibernate的SQLQuery进行本地SQL查询。 首先,创建SQLQuery实例是通过...
在Java的持久化框架Hibernate中,有时我们需要使用原生的SQL查询来实现特定的数据库操作,这时就需要利用到SQLQuery接口。本篇文章将详细解析如何使用Hibernate的SQLQuery来进行本地SQL查询,并探讨其各种应用场景。...
然后,我们可以使用`Session.createSQLQuery()`方法创建一个本地SQL查询对象,并设置查询语句: ```java Session session = sessionFactory.openSession(); String sql = "SELECT * FROM my_table WHERE ..."; SQL...
在Java的Hibernate框架中,使用SQL语句是一个常见的需求,特别是在处理特定的数据库操作或优化查询性能时。Hibernate,作为SSH(Spring、Struts、Hibernate)三大Web开发框架之一,提供了一种优雅的方式将对象关系...
- 使用`Session.createSQLQuery()`方法创建SQLQuery对象,然后通过`addScalar()`指定返回值类型,`executeUpdate()`或`list()`执行存储过程。 3. **调用存储过程的方法** - **简单调用**:对于无参数或只接收输入...
首先,可以通过调整Hibernate的映射方式,使用`addScalar`方法显式指定字段的类型;其次,可以在SQL查询中使用`CAST`函数将char字段转换为`VARCHAR2`类型;最后,也可以考虑直接修改数据库表结构,将char类型改为`...
Hibernate提供两种调用存储过程的方法:使用`Session.createSQLQuery()`和使用`StoredProcedureQuery`。 - **使用`Session.createSQLQuery()`** 这种方法适用于简单的存储过程调用。你可以构建一个SQL查询字符串...
在上面的代码中,我们使用 `Session.createSQLQuery()` 方法创建了一个 `SQLQuery` 对象,然后使用 `addEntity()` 方法指定了查询结果的实体类型,最后使用 `list()` 方法执行查询并获取结果。 使用 ...