hibernate insert 和 update 以及动态生成

为什么update的时候所有的属性都一起update,而不是只更新改变字段,其实这是一个比较值得探讨的问题。 (1)hibernate 可以根据映射文件(hbm.xml)控制insert和update语句的内容,eg:

      <property name="subject" type="java.lang.String" update="false" insert="false" >
          <column name="SUBJECT" length="200"></column>
      </property>

      那么这个字段将不被包括在基本的update语句中,修改的时候,将永远不包括 这个字段 (insert同

      理)

      默认设置为update="true" insert="true"      

 (2)dynamic动态SQL语句的配置<property>中

      <property name="subject" type="java.lang.String" dynamic-insert="true"  >
          <column name="SUBJECT" length="200"></column>
      </property>

      dynamic-insert="true" 表 示insert对象时,生成动态的insert语句,如果这个字段的值为null则不

      会加到这个insert语句中(update同理)

      默认设置为dynamic-insert="false" dynamic-update="false"

(3) dynamic动态SQL语句的 配置<class>中

     <class name="com.yourcompany.struts.association.model.SubjectBean" 

      table="test_db_subject"  dynamic-update="true"  dynamic-insert="true" >

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值