`
rotman173
  • 浏览: 3522 次
  • 性别: Icon_minigender_1
  • 来自: 江西
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

hibernate性能优化备忘录

阅读更多

1、注意session.clear()的运用,尤其在不断分页循环的时候

a)  另外一种形式的内存泄露  ( Java有内存泄漏吗?语法上没有,但是可由java引起,例如:连接池不关闭,io读取后不关闭)

2、1+N问题

      a) @ManyToOne(fetch=FetchType.LAZY)

       fetch=FetchType.LAZY 解决N+1问题 说明如下:

        当多对一(@ManyToOne)已经设定属性" fetch=FetchType.LAZY "

       只有当需要时才会去获取关联表中数据 可以解决N+1问题

b)@BatchSize

       //@BatchSize 解决N+1问题 说明如下:

       //在与查询表关联的表类头处加@BatchSize(size=5)

       //表示每次可查出5条记录 从而减少了select语句的个数

c) join fetch

       //join fetch 解决N+1问题 说明如下:

       //修改hql语句为--"  from xxx  left join fetch xxx "

d)QBC

       //QBC(Query By Criteria) 解决N+1问题 说明如下:

       //使用QBC createCriteria(*.class)执行查询 也可避免N+1问题

3 、listiterate不同之处a)         list取所有

b)iterate先取 ID,等用到的时候再根据ID来取对象

c) sessionlist第二次发出,仍会到数据库査询

d)iterate 第二次,首先找session 级缓存

分享到:
评论

相关推荐

    Hibernate 备忘

    这篇备忘录主要关注Hibernate的核心概念、功能及其实现方式。通过博文链接(已省略)可获取更深入的探讨。 【标签】:“源码”、“工具” 【压缩包子文件的文件名称列表】:TestHQL **知识点详解:** 1. **...

    java web开发典型模块大全

    开发搜索引擎模块时,要考虑的关键点包括关键词分析、相关性排名和性能优化。 4. **聊天室模块**:聊天室是实时通信的一种形式,常基于WebSocket技术实现。WebSocket提供双向通信,使得服务器与客户端可以实时交换...

    java后端-面试笔记和面试资料

    3. 行为型模式:策略、模板方法、观察者、迭代器、责任链、命令、解释器、备忘录、状态、访问者模式。 七、框架与工具 1. Spring框架:依赖注入、AOP、SpringMVC、Spring Boot、Spring Cloud等。 2. MyBatis:ORM...

    java开发面试合集-自己整理

    - 行为型模式:如策略、模板方法、观察者、迭代器、责任链、命令、备忘录、解释器模式。 7. **其他** - 架构设计:MVC、微服务、SOA等架构模式的理解和应用。 - 性能优化:包括代码优化、数据库查询优化、服务器...

    Java面试题及答案大全(2023持续更新)

    - 行为型模式:观察者、模板方法、策略、状态、职责链、命令、迭代器、访问者、备忘录、解释器。 6. **Spring框架**: - IoC(Inversion of Control)和DI(Dependency Injection)的概念。 - AOP(Aspect ...

    Java面试宝典2011版

    以上只是部分Java面试宝典2011版中涉及的关键知识点,实际上,这本指南还可能涵盖网络编程、数据库、JMS、NIO、并发编程深度、性能优化等方面的内容。学习和掌握这些知识将有助于你在面试中展示出全面的Java技能,并...

    JAVA架构师课程+面试资料 2.zip

    5. **设计模式**:熟练掌握常见的23种设计模式,如单例、工厂、建造者、观察者、适配器、装饰器、代理、桥接、责任链、命令、状态、策略、模板方法、迭代器、访问者、享元、备忘录、组合、外观等,它们是解决软件...

    JAVA面试题解惑系列.rar

    6. **JVM**:深入理解Java虚拟机的工作原理,包括内存模型(堆、栈、方法区、本地方法栈、程序计数器),垃圾回收机制(如GC算法、Minor GC、Major GC、Full GC),性能优化(如JVM参数调优,内存泄漏检测)。...

    java 面试葵花宝典

    - 行为型模式:观察者、模板方法、策略、职责链、状态、访问者、迭代器、备忘录、命令。 4. **数据结构与算法** - 基本数据结构:数组、链表、栈、队列、堆。 - 排序算法:冒泡、插入、选择、快速、归并、希尔、...

    JAVA版-设计模式解析(第二版)综合项目实战pdf文档+视频教程

    4. **行为型模式**:如策略模式、模板方法模式、观察者模式、命令模式、迭代器模式、访问者模式、备忘录模式、状态模式、职责链模式和解释器模式。这些模式关注对象的行为和交互,使程序更加灵活和可扩展。 5. **...

    oracle存储过程学习经典[语法+实例+调用]

    存储过程的好处包括代码的重用性、安全性和性能优化。它们可以由数据库触发器调用,也可以通过客户端应用程序(如Java)或通过网络协议(如SQL*Plus或SQL Developer)调用。 Oracle存储过程的基本语法包括创建过程...

    oracle存储过程学习经典

    综上所述,Oracle存储过程的学习不仅涉及基础语法和结构的理解,还需要掌握其高级特性和最佳实践,包括动态SQL、异常处理、性能优化以及与其他编程语言的集成。通过深入研究这些知识点,可以充分发挥Oracle存储过程...

    进阶篇.pdf

    行为型设计模式如模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、责任链模式、访问者模式,主要处理对象间的交互和行为。 单例模式有多种实现方式,...

    Java面试宝典2018

    - 代理模式、命令模式、迭代器模式、中介者模式、备忘录模式等。 - 观察者模式、策略模式、模板方法模式、访问者模式、职责链模式等。 - **常见面试题**: - 工厂模式与抽象工厂模式的区别? - 适配器模式的两种...

    Java面试必问.docx.zip

    3. 行为型模式:观察者、模板方法、策略、职责链、命令、解释器、迭代器、备忘录、状态、访问者。 八、框架知识 1. Spring框架:IoC容器、AOP、事务管理、Spring Boot。 2. MyBatis:SQL映射、动态SQL、事务控制。 ...

    23种设计模式 - 架构设计 - PPT

    - **备忘录模式(Memento)**:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。 - **状态模式(State)**:允许一个对象在其内部状态改变时改变它的行为。 - **访问者模式(Visitor)**:...

    高级java工程师面试考纲,java高级工程师进阶知识地图

    - **性能优化**:掌握SQL层面的优化技巧,如索引、查询优化等;了解表设计层面的优化方法,如规范化设计、分区等。 - **数据库系统**:熟悉至少一种数据库管理系统(如MySQL、Oracle、SQL Server)的使用。 2. **...

Global site tag (gtag.js) - Google Analytics