文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > IT/计算机 > 计算机软件及应用 > hibernate操作数据库 插入修改数据库默认值 dynamic-insert dynamic-update
侵权投诉

hibernate操作数据库 插入修改数据库默认值 dynamic-insert dynamic-update

hibernate操作数据库 插入修改数据库默认值 dynamic-insert dynamic-update

[size=medium][/size]

Hibernate允许我们在映射文件里控制insert和update语句的内容.比如在映射文件中<property 元素中的update属性设置成为false,那么这个字段,将不被包括在基本的update语句中,修改的时候,将不包括这个字段了.insert同 理.dynamic动态SQL语句的配置也是很常用的.下面介绍配置SQL语句的具体属性:

1)<property>元素 insert属性:设置为false,在insert语句中不包含这个字段,表示永远不会被插入,默认true

2)<property>元素 update属性:设置为false,在update语句中不包含这个字段,表示永远不会被修改,默认true

3)<class>元素 mutable属性:设置为false就是把所有的<property>元素的update属性设置为了false,说明这个对象不会被更新,默认true

4)<property>元素 dynamic-insert属性:设置为true,表示insert对象的时候,生成动态的insert语句,如果这个字段的值是null就不会加入到insert语句当中.默认false

5)<property>元素 dynamic-update属性,设置为true,表示update对象的时候,生成动态的update语句,如果这个字段的值是null就不会被加入 到update语句中,默认false.有 hibernate提供了dynamic-update属性 你只要设置为true就可以在更新的时候只更新发生改变的字段 其余字段保持数据库中的原有值。

6)<class>元素 dynamic-insert属性:设置为true,表示把所有的<property>元素的dynamic-insert属性设置为true,默认false

7)<class>元素 dynamic-update属性:设置为true,表示把所有的<property>元素的dynamic-update属性设置为true,默认false

Hibernate生成动态SQL语句的消耗的系统资源(比如CPU,内存等)是很小的,所以不会影响到系统的性能,如果表中包含N多字段,建议把 dynamic-update属性和insert属性设置为true,这样在插入和修改数据的时候,语句中只包括要插入或者修改的字段.可以节省SQL语 句的执行时间,提高程序的运行效率.

---------------------------------------------------------------------------------------------------------------------- Hibernate之formula

Hibernate映射文件的部分,property元素有一个formula属性。该属性的意思是,可以在值对象中定义一个字段,但在映射文件中 不映射成对应数据库的字段,而是通过formula属性指定一个sql语句。将sql语句的返回值赋给该字段。当时就觉得这个属性挺有用的。今天做到成绩 管理那部分,突然想到需要一个成绩的排名。本来想在数据库中定义一个rank的字段。但是由于排名是不固定的,只能在获取成绩数据的时候动态的决定排名。 于是就想起这个属性来了。

在我的值对象score.java中加上一个rank字段,然后在映射文件中加上一下这句代码 <property name="rank" formula="(select count(*)+1 from Score s where s.student_score>student_score)"/>

懂sql的都能看明白吧,我说一下需要注意的。首先是sql语句一定要放到一对括号了。然后在引用数据库字段时一定要定义别名,如果不使用别名的话,像我 这个sql里,直接写student_score代表当前对象代表的记录行的数据。这个sql语句的意思就是,找出score表里 student_score的数值比当前对象的student_score大的数据的行数。返回这个数加1,就是当前的排名了。

第1页

你可能喜欢

  • 增删查改
  • 学习笔记
  • JAVA面试题
  • ssh框架
  • Struts2教程
  • SQL2000数据库操作
  • c#数据库操作
  • oracle数据库操作

热门文档

相关文档

  • dynamic-insert,dynamic-update 提高查询插入速度

    dynamic-insert,dynamic-update 提高查询插入速度_电子/电路_工程科技_专业资料...表明 Hibernate 在向数据库发送更新语句时只会包 括属性值发生改变的属性, 其实...

  • insert优化

    个字段的默认值设为0,当用hibernate插入数据时,没...dynamic-insert="true" dynamic-update="true"> ....和修改数据的时候,语句中只包括要插入或者修改的字段...

  • Hibernate SQL优化小技巧使用dynamic-insert= true dyn...

    Hibernate SQL优化小技巧使用dynamic-insert= true dynamic-update= true_计算机软件及应用_IT/计算机_专业资料。 今日推荐 180份文档 ...

  • Hibernate操作数据库

    Hibernate操作数据库_计算机软件及应用_IT/计算机_...而是根据数据版本来判断是否让事务修改数据 ②.实现...中加入dynamic-update="true" dynamic-insert="true...

  • Hibernate优化

    默认地,Hibernate 只 启用一级缓存,通过正确地使用...Hibernate 插入数据时仅插入非空数据,当修改数据时只...dynamic=insert="true/false" dynamic-update="true...

  • hibernate实体映射文件字段设置默认值

    通过设置hibernate映射文件的class处 dynamic-insert="true" dynamic-update="true...下将数据库表中默认值字段清空,但同时也会造成无法对此字段插入或更新非默认值...

  • Hibernate优化

    默认地,Hibernate 只 启用一级缓存,通过正确地使用...杂项 dynamic-insert,dynamic-update,动态插入和动态...Hibernate 插入数据时仅插入非空数据,当修改数据时只...

  • 第四章 Hibernate - 配置详解

    将dynamic-insert设为false,再看看效果 dynamic-update效果演示创造一个POJO实例...字段的值相同,然后用session的 update方法将它插入到数据库查看Hibernate控制台上...

  • Hibernate映射文件

    数据库时使用) 注:使用Oracle数据库时Hibernate默认...映射到数据库的子查询中 (12).dynamic-update: ...(13).dynamic-insert: 指定用于insert的SQL语句是否...

  • hibernate

    update,<class>的dynamic-insert,dynamic-update 10....的使用,根据数据库提供的自增类型来生成主键的值,...hibernate会执行sql语句修改数据库,这种执sql语句的...

站点地图 | 文档上传 | 侵权投诉 | 手机版
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.guandang.net All Rights Reserved.  -  email