昨天在用hibernate无意中在后台发现一个很奇怪的问题,一条SQL一直在重复执行,跑了好半天也没完成:(
仔细的看了一下,原来是在查询字典表,先执行一次总的查询出id,然后分别根据id分别select,这个字典表的内容太多了,而且本身自关联的。
当然我也知道这个只是第一次加载慢,第一次加载同时会被缓存,可是这个项目刚刚开始,这个字典表的改动是很频繁的,需要根据客户的需求而经常变动,等稳定下来再该回去。
先修改为sql:
select c.categoryid as {category.Id}, c.categoryname as {category.Name}
from Tb_Article_Category c
where c.categoryparentid is null
跑了一下,没有通过:(
试着将表中所有的字段都写出来便没有错误了,不太明白为什么非要我写出所有字段,可是那并是我想要的,我也怕麻烦。
目前我的做法是直接返回object [],没有对每条记录转化为ArticleCategory对象。
没有修改之前:
修改之后:
from Tb_Article_Category c
where c.categoryparentid is null
跑了一下,没有通过:(
Hibernate: select c.categoryId as categoryId0_0_,c.categoryName as category2_0_0_
from tb_article_category c where c.categoryParentId is null
[ 2006 - 03 - 20 09 : 12 : 38 , 812 ] - ERROR (JDBCExceptionReporter.java: 72 ) | Column ' category3_0_0_ ' not found.
from tb_article_category c where c.categoryParentId is null
[ 2006 - 03 - 20 09 : 12 : 38 , 812 ] - ERROR (JDBCExceptionReporter.java: 72 ) | Column ' category3_0_0_ ' not found.
试着将表中所有的字段都写出来便没有错误了,不太明白为什么非要我写出所有字段,可是那并是我想要的,我也怕麻烦。
目前我的做法是直接返回object [],没有对每条记录转化为ArticleCategory对象。
select
c.categoryId,c.categoryName
from
tb_article_category c
where
c.categoryParentId
is
null
for
(Object obj : list)
{
Object [] str = (Object[]) obj;
System.out.println(String.valueOf(str[ 1 ]));
}
Object [] str = (Object[]) obj;
System.out.println(String.valueOf(str[ 1 ]));
}
没有修改之前:
修改之后:
相关推荐
HQL(Hibernate Query Language):是面向对象的查询语句,它的语法和SQL语句有些相像,在运行时才得以解析.HQL并不像SQL那样是.
Hibernate Query Language 培训教材
讲解如何使用HQL,包括基本的操作和进阶用的高级使用
使用hibernate的query调用oracle的存储过程/function,包含例子,源码以及数据库文件
Hibernate中的query 博客分类: • Hibernate HibernateSQLSQL ServerMySQLJDBC Hibernate中的query.setFirstResult(),query.setMaxResults(); 一、query.scroll()和query.setFirstResult(),query....
HQL is database independent and translated into SQL by Hibernate at runtime. When writing HQL, we can concentrate on the objects and properties without knowing much detail on the underlying database. ...
Hibernate HQL 查询 Query 资料 3个word总结的资料。
上传的资料都是非常经典的,这也是我学习过程中的心得,希望大家能给我指点,也希望大家多上传资料共同学习。千万不要传空文件夹。。。那些人很可恶啊
Hibernate Query API之上的JDK 8包装器 特征 检索可选查询结果 查询到流的转换 输入查询 当前兼容性: / 请参阅总结了引入的更改的文档 设置 为了开始和运行,只需将工件添加到您的Maven / Gradle构建中。 ...
◆使用的SQL语言不同:JDBC使用的是基于关系型数据库的标准SQL语言,Hibernate使用的是HQL(Hibernate query language)语言 ◆操作的对象不同:JDBC操作的是数据,将数据通过SQL语句直接传送到数据库中执行,...
源码 博文链接:https://raymondhekk.iteye.com/blog/250427
Hibernate SQLQuery 查询Oracle char类型结果为一个字符解决方法 Hibernate SQLQuery 查询Oracle char类型结果为一个字符解决方法 Hibernate SQLQuery 查询Oracle char类型结果为一个字符解决方法 Hibernate SQL...
SQLib:Criteria Builder和Hibernate Query Builder的更简单和自定义的实现
帮助学生理解掌握使用Query接口的绑定参数的使用方式及其含义
和JDBC比较一下,同样都是数据库中间件(DM,Database Middleware),JDBC利用SQL语言操作的是数据,而Hibernate则是利用自己的查询语言Hibernate Query Language(HQL虽然底层还是要转换成sql语言)操作的是持久化对象...
一.使用Hibernate的Session对象操作数据库 1.初始化Hibernate:在要使用Hibernate的类的方法中实例化Configuration对象并用Configuration对象的configure()方法将hibernate... //HQL(Hibernate Query Language)语句查询
如果希望通过编程的方式创建查询,Hibernate提供了完善的按条件(Query By Criteria, QBC)以及按样例(Query By Example, QBE)进行Hibernate查询的功能。 你也可以用原生SQL(native SQL)描述Hibernate查询,Hibernate...
How to use Hibernate Query Language (HQL) How to perform batch processing and use native SQL, criteria queries, caching objects, and more How to enable Hibernate in web applications with e-commerce ...
14. HQL: The Hibernate Query Language 14.1. Case Sensitivity 14.2. The from clause 14.3. Associations and joins 14.4. Forms of join syntax 14.5. The select clause 14.6. Aggregate functions 14.7. ...
hibernate简单的demo,编程语言——Java,框架——Spring,框架——Hibernate