hibernate发出的SQL语句有误

问题描述

List<Userinfo>userinfos=null;Stringhql="fromUserinfoasu";userinfos=this.getSessionFactory().openSession().createQuery(hql).setFirstResult(0).setMaxResults(2).list();请问以上代码是否有误,为什么hibernate给我发出来的语SQL语句是:selecttop2userinfo0_.userIdasuserId8_,userinfo0_.userCodeasuserCode8_,userinfo0_.nameasname8_,userinfo0_.sexassex8_,userinfo0_.birthdayasbirthday8_,userinfo0_.classesasclasses8_,userinfo0_.addressasaddress8_,userinfo0_.phoneasphone8_,userinfo0_.E_mailasE9_8_,userinfo0_.QQasQQ8_,userinfo0_.registerTimeasregiste11_8_,userinfo0_.isPayFundasisPayFund8_,userinfo0_.photoasphoto8_,userinfo0_.remarkasremark8_fromfunddb.userinfouserinfo0_

解决方案

解决方案二:
我比较奇怪,每个别名后面的那个8是怎么出来的……
解决方案三:
我就是不知道啊
解决方案四:
还请大家多多指教啊
解决方案五:
帮你顶一下
解决方案六:
没看出有什么不对的地方,很正常

时间: 2024-09-17 21:48:54

hibernate发出的SQL语句有误的相关文章

如何查出前台正在发出的sql语句?

语句 如何查出前台正在发出的sql语句? 软件环境:  1.Windows 2000+ORACLE 8.1.6 2.ORACLE安装路径为:C:\ORANT 实现方法:  可以用以下语句: select user_name,sql_text  from v$open_cursor  where sid in (select sid from (select sid,serial  from v$session  where status='ACTIVE')) 子查询 select sid,ser

hibernate中使用SQL语句,其中包含冒号:,该怎么处理啊?

问题描述 SQL语句如下SELECT * from (SELECT @rownum:=@rownum+1 rownum, i.goid FROM (SELECT @rownum:=0) r, tablename i) as tmp where goid=1008300000054108表名tablename ,主键字段名goid我的目的是要在MYSQL中,获得某条记录的rownum,以查出某条记录在分页查询中的第几页. 解决方案 这个是hibernate的一个bug,一直没有修复.据说修复这个会

求助,hibernate中使用SQL语句,其中包含冒号:,该怎么处理啊?

问题描述 SQL语句如下SELECT*from(SELECT@rownum:=@rownum+1rownum,i.goidFROM(SELECT@rownum:=0)r,tablenamei)astmpwheregoid=1008300000054109表名tablename,主键字段名goid我的目的是要在MYSQL中,获得某条记录的rownum,以查出某条记录在分页查询中的第几页. 解决方案 解决方案二:\:转译试试解决方案三:这种转义是JAVA字符串的转义,对SQL没用.还有其他解决办法么

创建索引对SQL语句执行的影响

一.创建索引对执行计划的影响 在SQL开始执行之前,Oracle会确定SQL语句的执行计划,并按照执行计划的步骤访问相应的表和索引. 一旦执行计划确定下来,Oracle会按照这个执行计划完成SQL语句的执行,在SQL语句执行开始之后建立的索引不会改变SQL语句的执行计划. 因此,创建索引不会对执行计划有任何的影响,也就不会对运行中的SQL语句有影响.下面通过一个例子简单验证一下: SQL> CREATE TABLE TEST (ID NUMBER, FID NUMBER, NAME VARCHA

DBA常用SQL语句

语句    自己总结的常用SQL语句,发现对自己工作帮助挺大的!   查看表空间的名称及大小: SQL>select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name;   查看表空间物理文件的名称及大小:

Informix数据库SQL语句高速缓存技术应用实践

正如我们所知,Informix 数据库优化器采用基于"成本"优化方式,当接收到用户发出的SQL语句后,Informix优化器要对SQL语句进行编译,根据成本最低的原则生成最终的执行计划进行执行.对于每一个SQL语句,都要进行编译工作,为了提高系统的性能,特别是对具有大量相同SQL语句的系统,Informix从9.2版本开始,就提供了SQL语句高速缓存机制SQL Statement Cache (SSC),将已分析并优化的SQL语句缓存到内存中,以使执行相同SQL语句的多个用户能够实现以

Oracle中解析SQL语句的过程

为了将用户写的SQL文本转化为Oracle认识的且可执行的语句,这个过程就叫做解析过程.解析分为硬解析和软解析.一条SQL语句在第一次被执行时必须进行硬解析. 当客户端发出一条SQL语句(也可以是一个存储过程或者一个匿名PL/SQL块)进入shared pool时(注意,我们从前面已经知道,Oracle对这些SQL不叫做SQL语句,而是称为游标.因为Oracle在处理SQL时,需要很多相关的辅助信息,这些辅助信息与SQL语句一起组成了游标), Oracle首先将SQL文本转化为ASCII值,然后

hql-hibernate框架 使用sql语句 select count查询不到。。

问题描述 hibernate框架 使用sql语句 select count查询不到.. 代码 String sql = "select count(servId) from "+set; sess=sessionFactory.openSession(); tx=sess.beginTransaction(); Query query = sess.createSQLQuery(sql); BigDecimal count = (BigDecimal)query.uniqueResul

探讨:Oracle数据库查看一个进程是如何执行相关的实际SQL语句_oracle

Oracle数据库查看一个进程是如何执行相关的实际SQL语句 复制代码 代码如下: SELECT b.sql_text, sid, serial#, osuser, machine      FROM v$session a, v$sqlarea b      WHERE a.sql_address = b.address;  查询前台发出的SQL语句. 复制代码 代码如下: select user_name,sql_text  from v$open_cursor  where sid in