hibernate的update方法和hql的执行效率

问题描述

我要更新一条记录的某个字段(点击率+1)是直接load出来再写update(obj)的效率高呢?还是在hql 写 update class set click = click+1 where id =?的效率高

解决方案

第二种三,第一种做了两次查询,而第二种只对数据库进行了一次操作就搞定了。
解决方案二:
要想获取最高的效率须使用jdbc,而使用ORM框架的话会带来一些便利性,但是在效率上相对而言会有所差距,就拿楼主的问题来看,这个问题很明显:load做了一次查询,update做了一次更新,两次操作跟直接sql update速度相比是很明显的.

时间: 2024-08-04 10:33:35

hibernate的update方法和hql的执行效率的相关文章

Hibernate VS MyBatis 区别 Hibernate3和MyBatis(iBatis)的执行效率比较

我不想引起Hibernate和Mybatis的口水仗,关于这个的孰是孰非,JE上有很多. 关于O/R Mapping的理论,网上也有很多.其实完整的O/R mapping理论是想让程序员从数据的CRUD中解放出来,专注于使用OO的思想来实现业务逻辑,使用OO的思想当然就很大程度上需要遵守SOLDI原则,而不是一会要用OO的眼光建立业务领域模型,一会要用Relation的数学观点来操作数据. 还有一点,在O/R Mapping也提到了,就是要让那些不熟悉SQL的人也能开发需要数据存储的工程,所以才

Javascript数组的排序:sort()方法和reverse()方法

文章简介: JavaScript中的数组排序. JavaScript提供了sort()方法和reverse()方法,使得我们可以简单的对数组进行排序操作和逆序操作.其中: 1.JavaScript的sort()中如果没有指定比较函数,则默认会按照字符的编码顺序进行升序排序.也就是说如果我们想要对数值进行排序得到的不一定是我们想要的结果. 2.Javascript的reverse()将数组中的元素逆序. 先看看上面的第一点,如果有一个数组arr=[1,6,3,7,9],使用arr.sort()后,

javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法_基础知识

Split方法: 以下程序例子实现了split和整数字符串互转的用法... <script > function evil() { var toint=parseInt("123");//字符串转换成整形 var intvalue=123; var tostr=intvalue.toString();//类型转换成字符串 var my_friends ="test1,test2,test3,test4,test5"; var friend_array =

javascript indexOf方法、lastIndexOf 方法和substring 方法_基础知识

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. 语法 stringObject.indexOf(searchvalue,fromindex) 参数 描述 searchvalue 必需.规定需检索的字符串值. fromindex 可选的整数参数.规定在字符串中开始检索的位置.它的合法取值是 0 到 stringObject.length - 1.如省略该参数,则将从字符串的首字符开始检索. 说明 该方法将从头到尾地检索字符串 stringObject,看它是否含有子串

java中super.父类方法和super( )的区别和联系是什么

问题描述 java中super.父类方法和super( )的区别和联系是什么 java中super.父类方法 和super( )的区别和联系是什么 为什么子类重写父类方法之后还要在那方法体里面写super.父类方法 解决方案 super.父类方法就是调用父类的方法.super() 就是执行父类的构造方法.重写后调用不调用父类方法是看你具体需求的.如果父类有a,b两个方法,你子类只重写了a方法,那么子类中并没有b方法,这时你就要 在你重写的a中写super.b()

C#中的委托,匿名方法和Lambda表达式

简介 在.NET中,委托,匿名方法和Lambda表达式很容易发生混淆.我想下面的代码能证实这点.下面哪一个First会被编译?哪一个会返回我们需要的结果?即Customer.ID=5.答案是6个First不仅被编译,并都获得正确答案,且他们的结果一样.如果你对此感到困惑,那么请继续看这篇文章. class Customer { public int ID { get; set; } public static bool Test(Customer x) { return x.ID == 5; }

重写equals方法和hashcode方法的作用

 重写equals方法和hashcode方法的作用 作用:区分同一个类的不同对象是否是同一个对象. 应用:在Hibernate 定义 Model实体类的 联合主键的时候用到. 举例说明: 1.数据库中的表teacher表,包括三个字段,id.name.level.其中id和name作为联合主键. 2.类在类的角度,如果想定义一个联合主键,使用多个属性作为实体类的关键字,那么方式为定义一个单独的类,里面包含多个属性,并且将这个类包含在原有类中. public class Teacher{     

java线程中 start方法和run方法的区别和联系是什么

问题描述 java线程中 start方法和run方法的区别和联系是什么 java线程中 start方法和run方法的区别和联系是什么 start是启动一个线程到就绪状态 run是运行一个线程 要run一个线程必须先start一个线程,这么理解对不 解决方案 通过start启动线程,内部调用run,如果你直接调用run,就是同步的,会阻塞 解决方案二: run方法里写的是每个线程需要执行的代码 run 只是调用你自己写的run方法而已.根线程调用无关. start才是启动线程的方法 解决方案三:

AngularJS中$apply方法和$watch方法用法总结_AngularJS

本文实例总结了AngularJS中$apply方法和$watch方法用法.分享给大家供大家参考,具体如下: 引言 最近在项目中封装控件的时候用到了$watch方法来监听module中的值的变化,当时小编对这个方法不是很了解,所以在网上找了一些资料来学习一下,下面小编就给大家简单介绍一些AngularJS中Scope 提供$apply 方法传播Model 的变化和$watch方法监听module变化. $apply使用情景 AngularJS 外部的控制器(DOM 事件.外部的回调函数如 jQue