zoukankan      html  css  js  c++  java
  • 控制insert和update语句

    控制insert和update语句

    Hibernate在初始化阶段,就会根据映射文件的映射信息,为所有的持久化类预定义以下SQL语句:

    • insert语句,例如Person类的insert语句如下:

    insert into person(id,name,age,address) values(?,?,?,?)

    • update语句,例如Person类的update语句如下:

    update person set id=?,name=?,age=?,address=?

    • delete语句,例如Person类的delete语句如下:

    delete from person where id=?

    • 根据OID来检索持久化类实例的select语句,例如Person类的select语句如下:

    Select id,name,age,address from person where id=?

    以上SQL语句中的问号代表JDBC PreparedStatement中的参数,这些SQL语句都存放在SessionFactory的缓存中,当执行Session的save()、update()、delete()和load()方法时,将从缓存中找到相应的预定义SQL语句,再把具体的参数值绑定到该SQL语句中

    在默认情况下,预定义的SQL语句中包含了表的所有字段,此外,Hibernate还允许在映射文件中控制insert和update语句的内存,例如:

    <property name=”addrsss” update=”false” column=”address”/>

    以上代码把<property>元素的update属性设置为false,这表明在update语句中不会包含address字段。

    映射属性

    作用

    <property>元素的insert属性

    如果为false,在insert语句中不包含该字段,表明该字段永远不能被插入。默认值为true

    <property>元素的update属性

    如果为false,update语句中不包含该字段,表明该字段永远不能被更新,默认值为true

    <class>元素的mutable属性

    如果为false,等价于所有的<property>元素的update属性为false,表示整个实例不能被更新,默认值为true

    <property>元素的dynamic-insert属性

    如果为true,表示当保存一个对象时,会动态生成insert语句,只有这个字段取值不能为null,才会把它包含到insert语句中。默认值为false

    <property>元素的dynamic-update属性

    如果为true,表示当更新一个对象时,会动态生成update语句,只有该字段取值不为null,才会把它包含到update语句中。默认值为false

    <class>元素的dynamic-insert属性

    如果为true,等价于所有的<property>元素的dynamic-insert属性为true,表示当保存一个对象时,会动态生成insert语句,insert语句中仅包含所有取值不为null的字段。默认值为false

    <class>元素的dynamic-update属性

    如果为true,等价于所有的<property>元素的dynamic-update属性为true,表示当保存一个对象时,会动态生成update语句,update语句中仅包含所有取值不为null的字段。默认值为false

     

  • 相关阅读:
    Atitit 图像处理30大经典算法attilax总结
    Atitit 图像清晰度 模糊度 检测 识别 评价算法 源码实现attilax总结
    Atitit  rgb yuv  hsv HSL 模式和 HSV(HSB) 图像色彩空间的区别
    Atitit  从 RGB 到 HSL 或 HSV 的转换
    Atitit 图像清晰度 模糊度 检测 识别 评价算法 原理
    Atitit 修改密码的功能流程设计 attilax总结
    atitit 点播系统 概览 v2 qb1.docx
    Atitit dsl exer v3 qb3 新特性
    atitit.TokenService v3 qb1  token服务模块的设计 新特性.docx
    Atitit 异常机制与异常处理的原理与概论
  • 原文地址:https://www.cnblogs.com/cnjava/p/2602294.html
Copyright © 2011-2022 走看看