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


    在控制台显示HQL语句
    <property name="show_sql">true</property>
    ----------------------------------------------------------
    hibernate里面有四个参数比较重要
    cascade 有四个取值:none all save-update delete

    ------------------------------
    1 第一种查询

    from Cat cat where cat.mate.name like "kit%"
    相当于:
    select * from cat_table as table1 cat_table as table2 where table1.mate =
    table2.id and table1.name like "kit%"
    from Foo foo where foo.bar.baz.customer.address.city like"guangzhou%"
    四表连接查询
    -------------------------------------------------------
    2 第二种查询
    //String hql="select u from po.Users u,po.Useradd ua where u=ua.users and ua.address='beijing'";
    //String hql="select u from po.Users u,po.Useradd ua where  ua.address='beijing'";
    ----------------------------
    3 fetch的用法
    lazy="false" fetch="select" 执行多条hql语句,延迟加载不起作用。
    lazy="true" fetch="select" 执行多条hql语句,延迟加载起作用。
    lazy="true" fetch="join" 写在一的方面,对get方法起作用,只执行一条查询语句。对hql语句不起作用。
    可以在hql语句中强制抓取
    from Users u join fetch u.useradds
    //注意:这种强行抓取,如果以子表类条件返回主表对象,有几个子表类对象会返回多少个主表类对象。
    //可以采用Set集合保存对象或做程序去掉重复项的方式处理。
    但可以在hql语句种增加String hql="from Users u join fetch u.useradds";即使设置延迟加载
    也可以把子表数据强行取出来.
    结论: 1 HQL代码 > fetch(配置) > lazy (配置)
             注意:如果查询涉及两个表,已经自动加载了
           2 fetch 和 lazy 主要是用来级联查询的,   而 cascade 和 inverse 主要是用来级联插入和修改的
           3 默认 lazy="true"
           4 cascade用来操作主表的时候影响到子表的类。
           5 老爸可以有多个孩子,一个孩子不能有多个老爸,而且老爸说的算, 孩子围着老爸转。
                    所以Photos老爸要有权力所以 cascade 这个关键子都是送给老爸的, 也就是级联更新,
                   老爸改姓了,儿子也得跟着改,呵呵。“不然,就没有零花钱咯”。
                    而Picture儿子整体挨骂,但是还是要维护父子之间良好的关系,对老爸百依百顺,所
                   以老爸就说,儿子,“关系,由你来维护(inverse="true") ,不然就不给零花钱。呵。”。
                   <set name="pictures" inverse="true" cascade="all">
                        <key>
                           <column name="photosid" not-null="true" />
                        </key>
                     <one-to-many class="girl.domain.Picture" />
                 </set>
  • 相关阅读:
    jQuery 遍历 table
    jQuery下拉框三级联动
    C# 读取Excel模板 修改某行某列的值 另存为新的Excel
    jQuery iframe之间相互调用
    设计模式
    Rookey.Frame企业级快速开发框架(学习笔记)
    在Gridview中实现多选
    Gridview改变单元格颜色
    SQLserver函数编写和使用方法
    SVN服务器搭建和使用(转载)
  • 原文地址:https://www.cnblogs.com/soundcode/p/1911919.html
Copyright © 2011-2022 走看看