Hibernate做了数据库中表和我们实体类的映射,使我们不必再编写sql语言了.但是有时候查询的特殊性,还是需要我们手动来写查询语句呢,Hibernate框架为了解决这个问题给我们提供了HQL(Hibernate  Query  Language)面向对象的查询语言,和QBC(Query by Criteria)完全面向对象的查询,这里简单总结一下如何是面向对象来编写ql语句呢.  一,HQL,Hibernate框架中的查询语言,是一种面向对象查询语言,和sql语句还是非常类似的,就是将sql…
Hibernate做了数据库中表和我们实体类的映射,使我们不必再编写sql语言了.但是有时候查询的特殊性,还是需要我们手动来写查询语句呢,Hibernate框架为了解决这个问题给我们提供了HQL(Hibernate  Query  Language)面向对象的查询语言,和QBC(Query by Criteria )完全面向对象的查询,这里简单总结一下如何是面向对象来编写ql语句呢. 一,HQL,Hibernate框架中的查询语言,是一种面向对象查询语言,和sql语句还是非常类似的,就是将sql…
在多线程中,每个线程的执行顺序,是无法预测不可控制的,那么在对数据进行读写的时候便存在由于读写顺序多乱而造成数据混乱错误的可能性.那么如何控制,每个线程对于数据的读写顺序呢?这里就涉及到线程锁. 什么是线程锁?使用锁的目的是什么?先看一个例子. private void testSimple(){ SimpleRunner runner = new SimpleRunner(); pool.execute(runner); pool.execute(runner); } int account0…
Python进阶(十五)----面向对象之~继承 一丶面向对象的三大特性:封装,继承,多态 二丶什么是继承 # 什么是继承 # b 继承 a ,b是a的子类 派生类 , a是b的超类 基类 父类 # b类或者b对象 能够使用 a类的所有属性和方法 # 为什么要有继承 由子类继承父类,从而完成了对子类功能的扩展 #第一: 子类对父类的继承是全部的公有和受保护的继承,这使得子类可能继承了对子类无用甚至有害的父类的方法.换句话说,子类只希望继承父类的一部分方法,怎么办? #第二: 实际的对象千变万化,…
HQL查询一 介绍1.HQL:Hibernate Query Language,是一种完全面向对象的查询语言.使用Hibernate有多重查询方式可供选择:hibernate的HQL查询,也可以使用条件查询,甚至使用原生的SQL查询语句.Hibernate还提供了一种数据过滤功能,这些都用于删选目标数据.2.查询步骤:(1)获取Hibernate Session对象(2)编写HQL语句(3)以HQL语句为参数,调用Session的createQuery()方法创建查询对象(4)如果HQL语句包含…
序言 之前讲解了一对多(单向.双向).多对多(双向),今天就讲解一下最后一个关系,一对一. 心情不错.状态也挺好的,赶紧写一篇博文造福一下大家把. --WH 一.一对一关系的概述 一对一关系看起来简单,其实也挺复杂的.其中关系就包含了四种,单向双向和主键关联外键关联. 什么意思呢,也就是包含了单向一对一主键关联.双向一对一主键关联,单向一对一外键关联,双向一对一外键关联, 这四种中,单双向就不用在说了把,就是看你业务需求来去设置是否是单双向,而外键关联也很简单,前面的一对多和多对多度是依靠外键关…
前言 老平台的查询速度很慢,需要进行优化(...说白了就是优化sql语句),老平台用的strus2+hibernate框架,查询基本都是使用的HSQL. 关于hsql HQL是Hibernate Query Language即Hibernate查询语言 优点: 不需要再编写繁复的SQL 语句,针对实体类及其属性进行查询 查询结果是直接存放在List 中的对象,不需要再次封装 独立于数据库(针对不同数据库进行查询,跨数据库,Mysql->Oracle),  对不同的数据库根据Hibernate d…
刚刚接触SSH框架,虽然可能这个框架已经比较过时了,但是个人认为,SSH作为一个成熟的框架,作为框架的入门还是可以的. 马马虎虎学完了Hibernate的基础,总结一点心得之类的. 学习Hibernate的乐观锁时: 首先要知道为什么要用乐观锁.之所以要用乐观锁,就是为了避免脏数据.这很像数据库原理中的共享锁(读锁)和排它锁(写锁).不管是乐观锁.共享锁.排它锁,其目的都是为了保证数据的一致性,也可以说是保证数据的正确性.所有锁的本质都是一样的. 其次要知道什么时候要用乐观锁.一般有多个事务要对…
提到Hibernate的查询.我们往往会想到HQL,他使我们的SQL语句面向对象话. 事实上细看,差点儿相同就是把SQL语句中的表和字段用所相应的实体和属性给取代了.事实上.Hibernate中还有还有一种查询方式,我们看不到任务SQL的影子.那就是Criteria Query. Criteria是一种比hql更面向对象的查询方式. --百度百科 一. 简介 Criteria Query通过面向对象的设计,将数据查询条件封装为一个对象.简单来说,Criteria Query能够看作是传统SQL的…
由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统:假设id=1的这本书库存为1,但是有2个人同时来借这本书,此处的逻辑为: ; --如果restnum大于0,执行update ; 问题来了,当2个人同时借的时候,有可能第一个人执行select语句的时候,第二个人插了进来,在第一个人没来得及更新book表的时候,第二个人就查到了数据,但这是一个脏数据,因为第一个人会把restnum值减1,因此第二个人本来应该是查到id=1的书restnum为0了,因此不会执行u…