首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

HQL 查询语句

//这种方法查询出来结果是笛卡尔积,对于我们开发没有多大用处   Session session = HibernateSessionFactoryUtil.getSessionFactory...  /**    * 下面三种hql语句都是可以得到相同结果    * String hql="select p from Profile as p inner join p.user";    *...在下面的hql语句中加入"fetch"后,此hql语句变为了"迫切HQL"语句,这样查询效率要比上面的hql语句要高    * String hql="select p from Profile as..."迫切HQL"语句,这样查询效率要比上面的hql语句要高    * String hql="select p from Profile p left outer join fetch p.user order...语句中加入"fetch"后,此hql语句变为了"迫切HQL"语句,这样查询效率要比上面的hql语句要高    * String hqlu="select u from User u left outer

81330
您找到你想要的搜索结果了吗?
是的
没有找到

Hibernate查询技术之HQL语句

HQL查询与JDBC查询相比,具有以下优点: 直接针对实体类和属性进行查询,不再编写繁琐SQL语句查询结果是直接保存在List对象,不要再次封装; 可以通过配置dialect属性,对不同数据库自动生成不同用于执行...语句from BooksBooks是类名,而不是表名,因此需要区分大小写。...在HQL语句中也可以有别名,例如,books是Books类别名,别名可以使用关键字as指定,as关键字也可以省略。 2.2 参数查询 实际应用,需要根据指定条件进行查询。...setString()方法,第一个参数表示HQL语句中参数位置,第二个参数表示HQL语句中参数值。这里给参数赋值时,使用“%”通配符,匹配任意类型和任意长度字符串。...方式。 在HQL语句中设定查询条件时,可以使用如下各种运算。 在HQL语句中设定查询条件时,可以使用如下各种运算。

1.5K10

如何用ORM支持SQL语句CASE WHEN

OQL如何支持CASE WHEN? 今天,一个朋友问我,OQL可否支持CASE WHEN语句?...他给示例SQL如下: select HName,case when IsEnable=1 then '启用' else '停用' from tb_User OQL是SOD框架ORM查询语言,它类似Linq...OQL只解决 80%普通查询,其它复杂查询,应该依托于其它技术,否则会增加OQL复杂性; 复杂查询,可以借助于SOD框架SQL-MAP技术,将SQL语句写在SqlMap.config文件;...大家看看,这个“计算属性”是不是很好起到了 SQLCASE WHEN效果? 只要忘记了数据库,不要遇到问题就去想如何用SQL语句解决,是不是思路豁然开朗?...WHEN效果 如果再仔细看看开篇这个SQL语句,我们发现这种写法常常跟我们界面查询有关,也就是这个查询要将原来结果进行一下加工,以方便界面元素使用。

2.1K80

mysqlcase when语法_sql基本语句大全

大家好,又见面了,我是你们朋友全栈君。 介绍mysql数据库case when语句用法,首先介绍case when语句基础知识,然后提供了相关例子。...(1)mysql数据库CASE WHEN语句case when语句,用于计算条件列表并返回多个可能结果表达式之一。...结果类型从 result_expressions 和可选 else_result_expression 类型集合返回最高优先规则类型。有关更多信息,请参见数据类型优先顺序。...(2) MySQL case when例子介绍 1、 使用带有简单 CASE 函数 SELECT 语句 在 SELECT 语句中,简单 CASE 函数仅检查是否相等,而不进行其它比较。...'30 correct' WHEN 40 THEN '40 correct' END; %在SELECT查询中使用CASE WHEN SELECT CASE parent_id WHEN

2.4K20

hql查询语句用法详解_sql add语句

HQL语法比较简单,与普通SQL区别之处是针对对象不同,在查询语句中将sql表名替换成了sql持久化类名,因为hibernate机制是基于对象进行查询。...两种参数绑定方法。 命名参数在查询字符串是形如name标识符。 命名参数优点: 1、命名参数与其在查询串中出现顺序无关。 2、它们可在同一查询多次出现。 3、它们本身是自我说明。...查询可以在select语句中指定类属性,甚至可以调用SQL统计函数。...其实hibernate有快捷分页查询方式,框架可以自动生成对应分页查询语句。...hibernate自动生成sql查询语句。 注意:指针是从0开始。也就是指针为0对应数据库第一条记录。

93710

mysql 分组统计 case when 及 if 语句使用

分组:根据地区、类别、中文名称分类; 判断:根据类型进行判断同时要求和 因为中文名称重复就是1部,所以统计时候,要使用到distinct去重。... when   t.play_classification = 10  then t.submit_num  else 0 end  ) as  '电视剧集数' , SUM(CASE when   t.play_classification... = 20  then t.submit_num  else 0 end  ) as  '电影集数' , SUM(CASE when   t.play_classification = 30  then... t.submit_num  else 0 end  ) as  '动画片集数', # -- 题材情况 SUM(CASE when t.theme_type = 1  then t.submit_num...', SUM(CASE when t.theme_type = 3  then t.submit_num  else 0 end  ) as '情感偶像', SUM(CASE when t.theme_type

2.4K10

优化程序之case when语句配合存储过程

今天我们来讲解程序优化篇; 今天看到一个网友代码,是这样。 ? 这段代码是完全ok。是没什么问题。但是我们来进行一下优化,但是我们并不是从代码进行优化。我们从sql语句开始。...然后进行一系列判断,给变量赋值,我们完全可以在sql语句中使用case when语句来进来判断; 从而提高程序可读性和性能。 ? 这段sql会进行判断每行数据State字段。...最后查询结果会多一个State1字段,State1字段值就在case when判断里赋值, 这样程序上再获取到一个数据源之后,就直接取出State1字段值,就完全了上述代码转换。...但是有人提出了,你这只是把判断放到sql语句里了,这sql肯定相比正常sql执行速度肯定慢了。 所以我们新建一个存储过程,把sql语句放到存储过程,这样就会好很多了 ?...这样我们在程序上直接调用存储过程,至于为什么放在存储过程中会提升性能,请各位自己参阅存储过程好处。 好了,今天到此为止。

1.2K20
领券