a、  在查询字符串中,应该总是使用jdbc的占位符?,或使用使用命名参数:,不要自查询中使用字符串值来代替非常量值。

b、  Flush会影响性能,频繁刷新影响性能,尽量减少不必要的刷新。

c、  Cascade策略,在几对几的关系,正确设置cascade策略,想清楚在操作对象A的同时是否需要级联操作对象B,比如在one to many的父子关系中,删除了父亲one,需级联删除子many,这时的one这端可设置cascade = “delete”,这样在删除one时,会自动删除子,但对子的操作不会影响父。Cascade还有其他的属性值,只要设置正确,可提升性能。

d、  lazy策略,正确设置延迟加载策略同样会提升性能,在one to many或many to many中,通常总应该延迟加载many的一方的到内存。设置了lazy = “true”,首先发送sql语句,加载自己到内存,到需要时才加载级联对象;lazy=”false”,则会同时加载自己和级联对象到内存。

e、  另外还有集合的性能(set、list、map、array),都应正确设置。

f、正确使用第三方缓存,在读操作频繁写操作不多的情况,使用第三方缓存可大幅度提升性能,如ehcache的缓存策略有:read-only,read-write和notstrict-read-write。

转载于:https://www.cnblogs.com/ycwtojava001/p/4026490.html

使用hibernate可以优化的地方相关推荐

  1. Hibernate 性能优化技巧

    在处理大数据量时,会有大量的数据缓冲保存在Session的一级缓存中,这缓存大太时会严重显示性能,所以在使用Hibernate处理大数据量的,可以使用session.clear()或者session. ...

  2. Hibernate性能优化之EHCache缓存

    像Hibernate这种ORM框架,相较于JDBC操作,需要有更复杂的机制来实现映射.对象状态管理等,因此在性能和效率上有一定的损耗. 在保证避免映射产生低效的SQL操作外,缓存是提升Hibernat ...

  3. Hibernate性能优化

    有很多人认为Hibernate天生效率比较低,确实,在普遍情况下,需要将执行转换为SQL语句的 Hibernate的效率低于直接JDBC存取,然而,在经过比较好的性能优化之后,Hibernate的性能 ...

  4. (转)Hibernate的优化方案

    http://blog.csdn.net/yerenyuan_pku/article/details/70768603 HQL优化 使用参数绑定 使用绑定参数的原因是让数据库一次解析SQL,对后续的重 ...

  5. 【HIBERNATE框架开发之九】HIBERNATE 性能优化笔记!(遍历、一级/二级/查询/缓存、乐观悲观锁等优化算法)...

    本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/hibernate/825.html 1. ...

  6. 4. MyBatis几个可以优化的地方

    与其说是优化, 还不如说是让配置更简单. 一: 连接数据库的配置单独放到一个属性文件中 在 src 路径下新建一个 db.properties 属性文件, 并把数据库连接信息放入文件中, 然后在 co ...

  7. 【Hibernate框架开发之九】Hibernate 性能优化笔记!(遍历、一级/二级/查询/缓存/乐观悲观锁等优化算法)...

    1.   循环分页或者循环进行部分读取处理数据的时候,使用 session.clear() ; 2.    对应1+N(N+1)问题使用如下解决方式: 1): 使用createCriteria进行查询 ...

  8. Unreal Engine 4 —— 使用反汇编来确定该进行优化的地方

    http://blog.csdn.net/noahzuo/article/details/51496500 这篇博客翻译自Robert Troughton的博客Using the Disassembl ...

  9. 项目还有哪些优化的地方

    很多项目都是在开发时间被压缩到极致的情况下开发出来的,所以有坑注定是无法避免的事情.那么开发完后优化就显得格外重要. 很多前端在第一次的开发后到第一次迭代的过程中,几乎很少会去看项目的代码,要么就在研 ...

最新文章

  1. pyqt5 QtDesigner文件打开位置
  2. IOS贝塞尔曲线圆形进度条和加载动画
  3. 基于事件的 NIO 多线程服务器--转载
  4. 梯度方向直方图和物体检测Histogram of Oriented Gradients and Object Detection
  5. oracle9i 恢复数据库,oracle 9i使用闪回查询恢复数据库误删问题
  6. 二、Arcgis api js -- Graphic
  7. 一般函数指针和类的成员函数指针
  8. 大数据处理需注意的问题
  9. Ruby Tip:定义索引操作符
  10. 用户故事与敏捷方法-阅读总结
  11. 吐血推荐几款优秀下载软件
  12. 【网络通信 -- SIP 电话】项目实战记录 -- FreeSwitch 服务器搭建与典型 SIP 电话应用
  13. 台式计算机如何取消屏幕密码,台式电脑怎么取消锁屏?
  14. 【Android】模拟Android微信APK底部的TabHost选项卡
  15. 计算机控制面板设置命令,电脑的控制面板在哪打开,分享四种打开方法
  16. 2021总结:躺平的一年
  17. 515. 在每个树行中找最大值(中等 树 广度优先搜索 二叉树)
  18. 成都可以打狂犬疫苗的地方
  19. DSPE-PEG11-Mal含有马来酰亚胺基团的PEG试剂
  20. Unity3D FPS帧数修改

热门文章

  1. matebook13linux送U盘系统,HUAWEI MateBook 13笔记本U盘安装win10系统的操作教程
  2. mysql导入表error 1067_mysql 导入数据error 1067(42000) Invalid default value for 'update'
  3. Linux学习笔记---移植官方linux步骤(一)
  4. 一步一步带你搭建SpringCloud微服务
  5. vjudge-Knight Moves(bfs)
  6. 吴恩达深度学习2.1练习_Improving Deep Neural Networks(Initialization_Regularization_Gradientchecking)
  7. Ubuntu 16.04 orb-slam2配置
  8. 面试中关于Redis的问题看这篇就够了
  9. Linux时间与NTP
  10. Java里的并发容器与安全共享策略总结