HQL(Hibernate Query Language)】的更多相关文章

1. NativeSQL > HQL > EJB QL(JP QL 1.0) > QBC(Query By Criteria) > QBE(Query By Example)2. 总结:QL应该和导航关系结合,共同为查询提供服务. 以下图为例: Category: package com.bjsxt.hibernate; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import…
在开发过程中,数据库的操作我们其实更多的用到的是查询功能,今天开始学习hql的查询. 1.加入必要的工具 2.Hibernate配备的一种非常强大的查询语言,这种查询语言看上去很像sql.但是不要被语法上的相似所迷惑,hql是非常有意识的被设计为完全面向对象的查询,它可以被理解如继承,多态和关联之类的概念. 3.Hql区分大小写,但是对于sql关键字(如select, from, where)不区分. 4.查询单个属性 1)通过session获取Query对象,在获取是需要传入的参数为hql语句…
现在有两张表:student(学生表),classroom(教室表). //对象 Student 对应 student 表中有四个字段,分别是:id,name,age,classroom; public class Student { private int id; private String name; private int age; private Classroom classroom; } //对象Classroom 对应 classroom 表中有两个字段:id,name,stud…
Chapter 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. Referring to identifier property 14.6. The select clause 14.7. Aggregate functions 14.8. Polymorp…
HQL查询 HQL提供了是十分强大的功能,它是针对持久化对象,用取得对象,而不进行update,delete和insert等操作.而且HQL是面向对象的,具备继承,多态和关联等特性. from子句: from子句是最简单的HQL,例如from Student,也可以写成 select s from Student s.它简单的返回Student类的所有实例.值得注意的是除了JAVA类和属性的名称外,HQL语句对大小写不敏感. select子句: 有时并不需要取得对象的所有属性,这时可以使用sel…
一.基础查询 1.语法:select 查询列表 from 表名; 2.特点:1.通过select查询完的结果,是一个虚拟的表格,不是真实存在   2.查询列表可以是:字段.表达式.常量.函数等   3.select后面跟的查询列表,可以有多个部分组成,中间用逗号隔开   4.使用前需打开指定的数据库,USE 表名; 5.执行顺序:① from子句  -->  ② select子句 3.常见用法 1 #一.查询常量 2 SELECT 100; 3 4 #二.查询表达式 5 SELECT 100%3…
数据Data 描述事物的符号记录成为数据. 数据是数据库中存储的基本对象.   除了基本的数字之外.像图书的名称.价格.作者都可以称为数据. 将多种数据记录列成一张表.通过数据表管理数据. 每一行的数据成为记录(recorder),每一列的内容叫做字段(列field) 每一列都有自己的数据类型. 数据库Database DB 数据库是存放数据的仓库,所有的数据在计算机存储设备上保存,而且所有保存的数据会按照一定的格式进行保存. 数据库是长期储存在计算机内.有组织的.可共享的大量数据的集合. 数据…
1.Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Language)查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询在涵盖Criteria查询的所有功能的前提下,提供了类似标准SQL语句的查询方式,同时也提供了更加面向对象的封装.完整的HQL语句形式如下: Select/update/delete…… from …… where …… group by ………
2018-02-07 20:41:39 一.DBMS的用户接口 查询语言 访问DBMS的访问工具(GUI) API 相关类库 二.SQL语言 SQL语言可以细分为四种: 1.Data Definition Language (DDL):用来定义,删除或者修改数据模式: 2.Query Language (QL):查询语言 3.Data Manipulation Language (DML):对数据进行插删改操作 4.Data Control Language (DCL):对权限的设置 SQL语言…
Hibernate Query Language查询: Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Language)查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询在涵盖Criteria查询的所有功能的前提下,提供了类似标准SQL语句的查询方式,同时也提供了更加面向对象的封装.完整的HQL语句形势如下: Select/update/delete…… fro…
2018-02-19 18:03:54 一.数据操纵语言(Data Manipulation Language) 数据操纵语言是指插入,删除和更新语言. 二.视图(View) 数据库三级模式,两级映射中,使用视图可以实现外模式,可以实现数据的逻辑独立性. 视图可以分为两种: 1.普通视图(General view):使用CREATE VIEW 生成的视图,是通过基表进行运算得到的,也被称为虚表,其定义是永久保存的,其内容是临时计算的. 视图在一定程度上可以保证数据的安全性,因为可以选择呈现给用户…
OGNL(Object-Graph Navigation Language),可以方便地操作对象属性的开源表达式语言,使页面更简洁: 支持运算符(如+-*/),比普通的标志具有更高的自由度和更强的功能: Struts 2默认的表达式语言是OGNL,原因是它相对其它表达式语言具有下面几大优势: 支持对象方法调用,如xxx.doSomeSpecial(): 支持类静态的方法调用和值访问,表达式的格式为@[类全名(包括包路径)]@[方法名 | 值名],例如:@java.lang.String@form…
(What) XML是什么? XML指可扩展标记语言(Extensible Markup Language) 1.  XML是一种标记语言,类似HTML. 2.  XML具有自我描述性 3.  XML被设计来传输和数据(设计宗旨/目的) XML和HTML的关系和区别 XML是HTML的补充,不是取代. 相同之处:1.两者都是标记语言.2.都是W3C的推荐标准 不同之处:1.(目的不同)xml被设计来传输和存储数据,重点是数据的内容:html被设计来显示数据,重点是数据的显示.2.(标签不同)xm…
HQL是一种面向对象的查询语言,其中没有表和字段的概念,只有类,对象和属性的概念. 使用HQL查询所有学生: public static void main(String[] args) { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); String hql = "from Student"; Query query = sessi…
1. SpEL功能简介 它是spring生态里面的一个功能强大的描述语言,支在在运行期间对象图里面的数据查询和数据操作.语法和标准的EL一样,但是支持一些额外的功能特性,最显著的就是方法调用以及基本字符串模板函数功能. SpEL是spring的产品列表中的基本功能. 2. 特性概要 Literal expressionsMethod invocationAccessing properties, arrays, lists, mapsInline listsArray constructionR…
项目开发时用的是Oracle数据库,但为了更好的做分布式,做集群,我们要将数据库转成 MySQL! 在数据库迁移中首先要做的事是将 Oracle 的表结构以及数据 克隆到 MySQL 数据库. 这点不多说,有很多工具可以实现,网上大神也给出了相应指导. 重点说说后台代码: 一.在 Oracle 数据库中 所有的表明.字段名都是大写,而工具将表结构转到 MySQL 之后表明名成了小写字母, 而在MySQL里列名不区分大小写,但是表名区分大小写(t_xx_paper 表 不是 T_XX_PAPER…
1.Converter: struts.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> &…
一.九种图 二.类间关系 一.UML中的九种图 1.用例图(use case diagrams) [概念]描述用户需求,从用户的角度描述系统的功能 [描述方式]椭圆表示某个用例:人形符号表示角色 [目的]帮组开发团队以一种可视化的方式理解系统的功能需求 [用例图] 2.静态图 2-1)类图(class  diagrams) [概念]显示系统的静态结构,表示不同的实体是如何相关联的 [可见性]公有类型(public).受保护类型(protected).私有类型(private).Implement…
1.组建映射 可以存在一个表里面 Husband.java package com.bjsxt.hibernate; import javax.persistence.Embedded; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.per…
主要指对象之间的关系 1.一对一关联 一对一单项外键关联 比如说一夫一妻 Wifi.java package com.bjsxt.hibernate; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @Entity public class Wife { private int id; private String name; @Id @G…
查询一个对象(实体类必须有一个不带参数的构造方法) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 @Test public void test01() {     Session session = null;     try {         session = HibernateUtil.openSession();         /**          * 对于HQL而言,都是基于对象进行查询的          */        …
为什么需要NoSQL? 互联网自扩大规模来一直面临3个问题 1.High performance高并发 一个网站开发实时生成动态页面可能会存在高并发请求的需求,硬盘IO已经无法接受 2.Huge Storage高存储 用户数据太多,业务变复杂(类似qq,淘宝的功能变多),就连bat公司等也面临高存储访问需求 3.High Scalability&&High Availability高扩展和高应用性 web server和app server无法通过进行添加更多硬件和服务节点来扩展和负载能力…
目前的PL/SQL包括两部分,一部分是数据库引擎部分:另一部分是可嵌入到许多产品(如C语言,JAVA语言等)工具中的独立引擎.可以将这两部分称为:数据库PL/SQL和工具PL/SQL. PL/SQL中的基本单位是块(Block),所有PL/SQL程序都是由块组成的.PL/SQL中的块由3部分组成:声明部分,程序代码.异常处理代码.如下: DECLARE  /* 声明部分: 在此声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数 */ BEGIN /*  执行部分:  过程及SQL…
一.查询方法中get方法采用策略是立即检索,而load方法采用策略是延迟检索,延迟检索是在使用数据时才发送SQL语句加载数据 获取延迟加载数据方式:1.使用的时候,如果Customer c=session.load(Customer.class,1);//加载id为1的客户,此时是延迟加载,返回的是代理对象,当使用的时候加载数据,如c.getName(); 2.调用Hibernate.initialize(c);方法,初始化对象,也可加载到数据 二.类级别检索策略 包括立即检索和延迟检索,即使用…
Hibernate.cfg.xml 主配置文件中主要配置:数据库连接信息.其他参数.映射信息! 常用配置查看源码: hibernate-distribution-3.6.0.Final\project\etc\hibernate.properties   <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hiber…
最近,我在玩ABAP CDS视图,并且遇到了一些权限方面的挑战.我在网上没看到有多少有关CDS开发的文档,因为它是个相当新的东西.因此,我决定写下这篇博客,也许我的想法可以帮助到一些人. 和你已经意识到的一样,ABAP CDS视图跑在ABAP层,而且不受限于SAP HANA(也就是不存在这样的数据库依赖).ABAP CDS有它自己的.基于角色的权限概念.角色通过DCL源代码中的DEFINE ROLE定义. 这里是一个基本的CDS视图,它有数据目录“dimension”: 当我在HANA STUD…
一.什么是函数式编程语言 函数式编程语言(functional progarm language)一类程序设计语言,是一种非冯·诺伊曼式的程序设计语言.函数式语言主要成分是原始函数.定义函数和函数型.这种语言具有较强的组织数据结构的能力,可以把某一数据结构(如数组)作为单一值处理:可以把函数作为参数,其结果也可为函数,这种定义的函数称为高阶函数,程序就是函数,程序作用在结构型数据上,产生结构型结果,从根本上改变了冯·诺伊曼式语言的“逐词”工作方式.     二.函数式编程语言包含的编程语言及其特…
Hibernate基础配置 1.<property name="hbm2ddl.auto">update</property> 在SessionFactory创建时,自动将数据库schema的DDL导出到数据库. 使用 create-drop时,在显式关闭SessionFactory时,将drop掉数据库schema. 取值 update | create | create-drop 其实这个hibernate.hbm2ddl.auto参数的作用主要用于:自动创…
* java.lang.Class类:Class类的实例表示正在运行的 Java 应用程序中的类和接口,没有构造方法. java反射机制是在运行状态中,对于任何一个类,都能够知道这个类的所有属性和方法,对于任意一个对象想,都能够调用他的任意一个方法和属性,这种动态获取的信息以及动态调用对象的方法的功能称为java的反射机制. * * 常用方法: * forName(String className) 返回与带有给定字符串名的类或接口相关联的 Class 对象. * Field[] getDecl…
VFL的使用 使用VFL来创建约束数组: +(NSArray *)constraintsWithVisualFormat:(NSString *)format options:(NSLayoutFormatOptions)opts metrics:(NSDictionary *)metrics views:(NSDictionary *)views; format:VFL语句 opts:约束类型 metrics:VFL语句中用到的具体数值 views:VFL语句中用到的控件 VFL语句举例 H:…