初学Hibernate之Query扩展】的更多相关文章

1.hql参数化查询,不明确值类型的用setParameter方法:明确查询结果为一条记录的用uniqueResult方法查询 注意,参数化查询中方法setString 或 setParameter如果使用索引方式赋值,索引值从0开始,区别JDBC public void func1(){ Session session=HibernateUtils.getSession(); session.beginTransaction(); String hql="from Customer where…
最近在使用Hibernate开发项目,在写好hql语句,并初始化Query对象,执行Query.list()方法时,应用报IllegalArgumentException异常.经网上查询,现已经基本决定原因,是由于在利用hibernate逆向工程生成实体类和映射文件时,数据库字段的numeric类型被逆向成了java实体类中的Doubel类型,然后我觉得这里不应该用包装类,手贱就改成了基本数据类型double,这一改出了问题,数据库中字段的数据类型和java实体类中的属性类型对不上了,出现了Il…
Hibernate 是完全ORM的,只需要对 对象 进行操作,生成底层SQL语句 优势:1.可以简化开发 2.性能好(原生的Hibernate性能很差,要使用它,需要进行优化),优化方式:一级缓存.二级缓存.查询缓存.抓取策略等. 下面先简单写一个log4j的demo 1.新建一Java项目,导入log4j.jar包 2.在src下新建log4j.properties文件,第一个info表示,输出信息为info级别及其以上 ### direct log messages to stdout ##…
This post will go through how to setup the Hibernate Second-Level and Query caches, how they work and what are their most common pitfalls. The Hibernate second level cache is an application level cache for storing entity data. The query cache is a se…
打开cache后query的list和iterator方法区别 将query 的cache打开的话,缓存的是query本身,以hql 生成的 sql ,再加上参数,分页等信息做为key值,而不是query的结果.query的结果是放在session的cache中,和query的cache是有区别的. 1.ehcache.xml文件 <?xml version="1.0" encoding="UTF-8"?> <ehcache xmlns:xsi=&…
错误结果如下 Exception in thread "main" org.hibernate.hql.internal.ast.QuerySyntaxException: news is not mapped [from news]     .... ....    at com.zh.hibernate.hellword.NewsHOLTest.main(NewsHOLTest.java:26) 错误原因:from对应的应该是实体类的名字,而不是数据表的名字.书写过程中我把它视为数…
一.核心配置文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"…
2018年3月15日  今天做项目遇到一个需求,问题是在调用query.list()的时候,因为数据也多大概700条左右,查询一次需要30s+,这简直是不能忍,于是开始考虑怎么优化. 1.因为是单表查询,不涉及表间的复杂关联,所以想到的是可能是没加索引吧,那我就加上索引,重新启动项目查询,没有改变. 2.有人说是session连接没有释放,也就是session.colse(),对我这不适用.也有人说这是数据库连接过多了吧,自己的连接池太小了,那我就从500变成5000,依旧没变化. 3.问题还没…
1,Native SQL ->HQL->EJBQL->QBC(Query By Cretira)->QBE(Query By Example) 此排列是根据可实现功能大小排序.…
如果查询返回多个值用list()方法 public void testQuery(){ Configuration config = new Configuration().configure(); SessionFactory factory = config.buildSessionFactory(); //创建SessionFactory Session session = factory.openSession();        //创建Session session.beginTra…