zoukankan      html  css  js  c++  java
  • Hibernate小结

    hibernate原理:

    hibernate是持久层框架,是一个全自动的ORM框架,直接使用操作对象的方法操作数据库,简化dao层。

    hibernate流程:

    1.使用Configuration读取配置创建一个session工厂
    2.session工厂创建一个seesion对象
    3.session对象和它创建Query/Criteria都可以操作数据库
    4.Transcation 用于管理事务

    查询方式:

    HQL查询
    调用方法Query,必须写相应的HQL查询语句
    Criteria查询:
    调用方法list/iterator,直接把实体类对象放入类中,省略了查询语句。
    离线查询即不通过session创建查询对象
    原生SQL:
    总结:
    HQL语句必须写相应的HQL查询语句,而Criteria 语句直接把实体类对象放入类中,省略了查询语句。

    对象状态:

    瞬时(一个对象刚创建的时候,没有纳入session管理)
    持久化(有id,在session中,被session管理)
    游离/托管(有这个对象的存在,但不被seesion管理,不能保持同步更新)

    一对多、多对多:

    一对多(表中:使用外键。实体中:使用集合-属性方式表达)
    多对多(表中:创建一个新表包涵两个表的外键。实体中:两方都是用集合表示拥有多个对方)
    inverse:关系维护指定一方维护
    Cascade:级联操作

    缓存:

    一级缓存是Session,当Session做了一个查询操作,那么查询出的结果放到一级缓存中,如果短时间内又做了一个相同的操作,那么就会去缓存中取数据,处在一级缓存的对象永远不会过期,除非应用程序清空缓存.

    延迟(懒)加载:

    lazy(flase 表示立即加载,true 表过延迟加载)

    常用主键生成策略:

    identity(自增)
    uuid(随机字符串)
    assigned(手动)
    native(自动)

  • 相关阅读:
    ASP 禁止页面被缓存
    关于学习编程的一点想法
    今天下午做的一个关于web前端性能/性能测试的Talk
    错误植入法与老祖宗的智慧
    关闭sitwithwhom.51.net
    让Pywinauto支持中文菜单
    勤学与好问
    LoadRunner 的 web_set_user 函数
    有奖调查——《软件性能测试过程详解与案例剖析》第二版内容调查
    论“响应时间”
  • 原文地址:https://www.cnblogs.com/fengnan/p/9609355.html
Copyright © 2011-2022 走看看