HQL和Criteria(转)】的更多相关文章

一.查询种类 1.oid查询-get 2.对象属性导航查询 3.HQL 4.Criteria 5.原生SQL 二.查询-HQL语法 //学习HQL语法 public class Demo { //基本语法 @Test public void fun1(){ Session session = HibernateUtils.openSession(); Transaction tx = session.beginTransaction(); //--------------------------…
一.查询种类 1.oid查询-get 2.对象属性导航查询 3.HQL 4.Criteria 5.原生SQL 二.查询-HQL语法 //学习HQL语法 public class Demo { //基本语法 @Test public void fun1(){ Session session = HibernateUtils.openSession(); Transaction tx = session.beginTransaction(); //--------------------------…
package com.test; import java.util.Date; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import com.entity.User; import com.hibernate.HibernateUtil; public class QueryTest { public static void main(String[] args) { Us…
HQL: public boolean doCreate(Dept vo) throws Exception { return this.sessionFactory.getCurrentSession().save(vo) != null; } @Override public boolean doUpdate(Dept vo) throws Exception { String hql = "UPDATE Dept AS d SET d.title=? WHERE d.deptid=?&qu…
HQL(Hibernate Query Language)        面向对象的查询语言,与SQL不同,HQL中的对象名是区分大小写的(除了JAVA类和属性其他部分不区分大小写):HQL中查的是对象而不是和表,并且支持多态:HQL主要通过Query来操作,Query的创建方式: Queryq = session.createQuery(hql); l      from Person l      from User user whereuser.name=:name l      from…
HQL功能很强大,适合各种情况,但是动态条件查询构造起来很不方便: Criteria 最适合动态查询,但不太适合统计查询,QBE还不够强大.只适合简单的查询: Native-SQL可以实现特定的数据库的SQL,但是可移植性并不好. 如大部分查询都是动态条件查询,首先criteria,甚至使用Hibernate3提供的DetachedCriteria,构造好DetachedCriteria再进入Session执行查询. 但是涉及到统计查询和非常复杂的关联查询,Criteria就无能为力了.这种情况…
Hibernate的添加,修改,查询(三种查询方式)的方法: 案例演示: 1:第一步,导包,老生常谈了都是,省略: 2:第二步,创建数据库和数据表,表结构如下所示: 3:第三步创建实体类User.java package com.bie.po; /** * @author BieHongLi * @version 创建时间:2017年3月8日 下午5:17:23 * */ public class User { private int id; private String name; priva…
grails在查询方面也保留了hibernate的hql和criteria查询功能.hql自然不必多说基本不会有什么变化,grails的criteria查询在hibernate上面做了微调使用起来更加方便了,这次就这两个特点分享下我这几天的所学 1.grails的criteria查询 先来个简单的,通过criteria来构造一个in条件查询 def useCriteria2(){ def c=CityInfo.createCriteria() def result=c.list{ 'in'("i…
本文章适合一些初学者 一.使用Criteria查询数据        1.条件查询            1.1:使用Criteria查询的步骤                    1.使用Session接口的creatCriteria()方法创建Criteria对象                    2.使用Restrictions类提供的静态方法设置条件,这些静态方法返回Criterion对象,一个                        Criterion对象代表一个查询条件,…
Criteria是面向对象的无语句查询 Demo.java package com.legend.b_criteria; import java.util.List; import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.criterion.Order; import org.hibernate.criterion.Pr…
最近在学习Hibernate框架,但是用eclipse的时候发现自己安装的过程不是很顺利,因此记下来,供自己和别人参考. Hibernate Tools是由JBoss推出的一个Eclipse集成开发工具插件,该插件提供了一些project wizard(项目向导),可以方便的帮助我们构建Hibernate所需要的各种配置文件,同时支持mapping文件.annotation(注释)和JPA(Sun官方提出的java持久化规范)的逆向工程和HQL/JPA-QL/Criteria的执行,从而简化Hi…
Hibernate为了提高性能,提供了缓存与快照机制. 它的缓存分为一级缓存与二级缓存. Hibernate一级缓存:当一个事务中执行一次Sql语句时,就将返回的结果存储在Session中的Map集合中(当然,还有快照). 测试:(以下所有代码处于try/catch块中) Configuration config=new Configuration().configure();//configure()方法是加载src/hibernate.cfg.xml配置文件 SessionFactory s…
目录 写在前面 文档与系列文章 延迟加载 一个例子 总结 写在前面 上篇文章介绍了多对多关系的关联查询的sql,HQL,Criteria查询的三种方式.本篇文章将介绍nhibernate中的延迟加载方式,延迟加载按个人理解也可以叫做按需要加载(Loading-on-demand). 文档与系列文章 [Nhibernate]体系结构 [NHibernate]ISessionFactory配置 [NHibernate]持久化类(Persistent Classes) [NHibernate]O/R…
解析:使用final修饰的成员变量是常量 解析:不存在StateMoreSession的对象 解析:一个PreparedStatement 可以执行多次executQuery方法 解析:A   使用HQL处理海量数据性能极低,不能采用这种方式. B.  JDBC API性能最好,最适合处理海量数据. C.  如果一次性flush,Hibernate会将操作的对象全部放到自身的内部缓存,将会造成内存溢出,所以也不能采用这种方式. D.  如果分为多次flush,可及时将缓存清除,也不失为一种办法.…
1.0=>前言 放着好好的EF不用,为什么要来玩NHibernate了?那是因为现在的工作内容就是维护一个比较老的项目,第一版是公司找外包做的,跟数据库打交道这块用的NHibernate,虽然都是ORM,但是既然维护这个项目有一段时间要一直搞,那还是趁着周末休息的时间先自己玩玩NHibernate,提前熟悉下. 什么是NHibernate: 1.开源的ORM(对象关系映射)框架.ORM可以被认为是,基于关系型数据库的数据存储,实现一个虚拟的面向对象的数据访问接口.理想情况下,基于这样一个面向对象…
前言 1. 教程 1.1. 第一部分 - 第一个 Hibernate 应用程序 1.1.1. 设置 1.1.2. 第一个 class 1.1.3. 映射文件 1.1.4. Hibernate 配置 1.1.5. 用 Maven 构建 1.1.6. 启动和辅助类 1.1.7. 加载并存储对象 1.2. 第二部分 - 关联映射 1.2.1. 映射 Person 类 1.2.2. 单向 Set-based 的关联 1.2.3. 使关联工作 1.2.4. 值类型的集合 1.2.5. 双向关联 1.2.6…
hibernate基础1.hibernate介绍与动手入门体验  问题:模型不匹配(java对象模型与数据库关系模型不匹配)  解决: 1.使用JDBC手工转换        2.使用ORM(Object Relation Mapping对象关系映射)框架,有Hibernate,TopLink,OJB  下载地址http://www.hibernate.org  3.2.5版本  安装配置:    配置文件:hibernate.cfg.xml,hibernate.properties 这两个文件…
NHibernate各种查询 NHibernate's methods of querying are powerful, but there's a learning curve. Longer term, Linq is the way to go, although it may not be as capable as Linq2Sql or Entity Framework (Hql and Criteria are arguably superior for advanced sce…
一.       JavaWeb基础 第一天: 1.Eclipse详解: (1).Bad versionnumber in .class file:编译器版本和运行(JRE)版本不符合.高的JRE版本兼容低版本的编译器版本. (2).当程序有错误的时候,使用Debug as 运行程序.双击语句设置断点.程序运行到此处停止.点击跳入方法的内部代码.点击跳过,执行下一条代码,点击跳出,跳出方法.观察变量的值,选中变量右击 选择watch. 跳入下一个断点.查看断点,调试完后一定要清除断点.结束运行断…
HQL和Criteria HQL(Hibernate Query Language) 面向对象的查询语言,与SQL不同,HQL中的对象名是区分大小写的(除了JAVA类和属性其他部分不区分大小写):HQL中查的是对象而不是和表,并且支持多态:HQL主要通过Query来操作,Query的创建方式: Query q = session.createQuery(hql); from Person from User user where user.name=:name from User user wh…
Hibernate原理与应用 主要内容 1.引入 2.安装配置 3.基本概念和CURD 4.HQL和Criteria 5.关联映射 6.继承映射 7.集合映射 8.懒加载 9.缓存 10.事务 11.其他 12.Hibernate不适合的场景 13.与JPA的集成(annotation方式) 14.最佳实践 1.引入 模型不匹配(阻抗不匹配) Java面向对象语言,对象模型,其主要概念有:继承.关联.多态等:数据库是关系模型,其主要概念有:表.主键.外键等. 解决办法 1使用JDBC手工转换.…
核心接口 1  Configuration接口负责配置并启动Hibernate,创建SessionFactory对象 2  SessionFactory接口负责初始化Hibernate.它充当数据存储源的代理,并负责创建Session对象.这里用到了工厂模式. 3  Session接口负责执行被持久化对象的CRUD操作,Session对象是非线程安全的.Hibernate的session不同于JSP应用中的HttpSession,将HttpSession对象称为用户session.所谓轻量级是指…
本节内容 引入 NHibernate中的集合类型 建立父子关系 父子关联映射 结语 引入 通过前几篇文章的介绍,基本上了解了NHibernate,但是在NHibernate中映射关系是NHibernate中的亮点,也是最难掌握的技术.从这篇开始学习这些东西,我将图文结合来说明这里奥秘的知识. 前几篇,我们的例子只使用了一个简单的Customer对象.但是在客户/订单/产品的经典组合中,他们的关系非常复杂?让我们先回顾在第二篇中建立的数据模型. 在图上,我已经清晰的标注了表之间的关系,首先分析Cu…
导读 前面一片文章介绍了Hibernate框架的入门,主要是讲解Hibernate的环境搭建和简单测试,有兴趣的童鞋出门左转.本文在入门的基础上进行Hibernate的进阶讲解,分为上中下三篇,本篇为上篇,该篇主要以讲解hibernate原理为主.主要内容包括:一.hibernate中的实体创建规则 二.hibernate主键生成策略(7种) 三.hibernate对象的三种状态 四.hibernate中的缓存 五.事务管理 六.Hibernate支持的三种数据库操作语法:HQL.Criteri…
导读 Hibernate进阶篇分为上中下三篇,本文为最后一篇,主要内容是Hibernate框架的查询,主要包括hql语句查询,criteria查询以及查询策略的选择. 知识框架 Hibernate查询 一.查询方式:hql语言.criteria接口和sql语言. hql语言和criteria都是面向对象的查询方式,但最终都是要转换为sql语言执行的. 1.hql语言 1)简单查询 2)条件查询 3)排序查询 4)分页查询 5)统计查询 6)投影查询 2.criteria 1)简单查询 2)条件查…
1. hibernate中离线查询去除重复项怎么加条件? dc.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); 2. http协议及端口,smtp协议及端口 http:超文本传输协议 端口 80 smtp:简单邮件传输协议 端口25 3. 编写程序,完成文件复制功能 4. Servlet创建过程及生命周期Servlet 在容器中运行时,其实例的创建及销毁等是由容器进行控制. Servlet 的创建有两种方法. 1). 客户端请求对应的 S…
面试归来 技术面试官叫我谈谈 ssh优缺点 平时用起来倒是挺顺手..但是从来没有系统的总结过..导致很多点会都没有说出来.. 这次我认真总结了一下... 常说的好处 开源 常说的坏处 配置文件过大我就不提了 struts  优点:           收集,验证表单数据相比传统servlet简单           优雅的实现可配置的请求转发 缺点:           属侵入设计(actionform,action都无法复用)           与serlvetAPI严重耦合..无法摆脱容器…
HIbernate中的HQL查询 Hibernate中的查询方式:1,使用HQL:使用hibernate提供的面向对象的查询语句;2,使用SQL:在hibernate中允许使用原生的SQL直接查询;3,使用Criteria:hibernate提供的完全的面向对象的查询方式; 1,HQL:HQL的学习方法HQL是面向对象的,但是HQL借鉴了SQL的语法结构,把SQL中关系模型的概念替换成面向对象的概念; //HQL是模型对象的,但是HQL借鉴了SQL的语法结构,把SQL中的关系模型的概念替换为面向…
一.http://www.cnblogs.com/dddd218/archive/2009/09/01/1557640.html 1.立即加载(lazy=false)并不能在所有情况下都会减少SQL语句,同时还会带来过量读取数据的严重后果 比如,在mapping文件中为实体AEntity设置了一个关联实体BEntity,并且将这个关联设置为lazy=false,这样当加载实体AEntity时(调用Get(id)),NHibernate就会自动加载实体BEntity.通过查看NHibernate生…
抓取策略: 为了改变SQL语句执行的方式 当应用程序需要在Hibernate实体对象的关联关系间进行导航的时候,Hibernate如何获取关联对象的策略 抓取策略可以在O/R映射的元数据中声明,也可以在特定的HQL或Criteria Query中重载声明 Hibernate的抓取策略只影响get | load方法,对HQL是不影响的 参考链接:http://www.cnblogs.com/crazylqy/p/4081459.html select fetching: 默认执行多条sql语句 可…