• 随笔40 优化Hibernate所鼓励的七大措施


    1.尽量使用many-to-one,避免使用单项one-to-many
    2.灵活使用单向one-to-many
    3.不用一对一,使用多对一代替一对一
    4.配置对象缓存,不使用集合缓存
    5.一对多使用Bag 多对一使用Set
    6.继承使用显式多态 HQL:from object polymorphism="exlicit" 避免查出所有对象
    7.消除大表,使用二级缓存

    1. Hibernate2延迟加载实现:a)实体对象 b)集合(Collection) 
    2. Hibernate3 提供了属性的延迟加载功能 
    当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在于内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。

    3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。 
    4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。
     
    load方法来得到一个对象时,此时hibernate会使用延迟加载的机制来加载这个对象,即:当 我们使用session.load()方法来加载一个对象时,此时并不会发出sql语句,当前得到的这个对象其实是一个代理对象,这个代理对象只保存了实体对象的id值,只有当我们要使用这个对象,得到其它属性时,这个时候才会发出sql语句,从数据库中去查询我们的对象。
    相对于load的延迟加载方式,get就直接的多,当我们使用session.get()方法来得到一个对象时,不管我们使不使用这个对象,此时都会发出sql语句去从数据库中查询出来。
  • 相关阅读:
    P20 HTTP 方法的安全性与幂等性
    P19 查询参数
    P18 写代码:过滤和搜索
    P17 过滤和搜索
    P16 HTTP HEAD
    golang的json操作[转]
    Android中的Service 与 Thread 的区别[转]
    iOS的block内存管理
    Go并发编程基础(译)
    golang闭包里的坑
  • 原文地址:https://www.cnblogs.com/lyr612556/p/7838310.html
Copyright © 2020-2023  润新知