`
zhaoshijie
  • 浏览: 2261810 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate添加数据,默认字段为null的解决办法

阅读更多
hibernate添加数据,默认字段为null的解决办法
数据库中的一个字段默认为0,但是在用hibernate的添加之后,默认字段竟然不是0,为NULL.
查了一下.发现想要让默认字段生效.需要在*.hbm.xml添加一些参数,如下.(红色部分)
<hibernate-mapping>
    <class name="com.scm.domain.SysBumen" table="sys_bumen" catalog="scm" dynamic-insert="true" dynamic-update="true">
..............
    </class>
</hibernate-mapping>




下面是网上搜集的有关其它配置的说明

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
      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关联映射-one to one单向外键关联

    3. **唯一性约束**:由于是一对一关系,通常会在数据库层面为外键添加唯一约束,以确保每个`User`只有一个`Account`,反之亦然。 以上就是关于Hibernate中一对一单向外键关联的基本介绍。通过理解和熟练掌握这种...

    Springmvc数据验证6个详细包,hibernate-validator-5.1.3.Final.jar...

    3. **Hibernate Validator的使用**:Hibernate Validator提供了丰富的内置约束注解,如`@NotNull`、`@Size`、`@Min`、`@Max`等,可以方便地在实体类的属性上声明。同时,它还支持自定义验证注解和复杂的校验逻辑。 ...

    hibernate验证框架学习

    当约束验证失败时,默认情况下,**Hibernate Validator** 会根据约束注解中的 `message` 属性或默认消息来生成错误消息。可以通过在 `message` 属性中使用占位符来插入具体的验证失败信息,例如: ```java @NotNull...

    hibernate-mapping参数详解

    unsaved-value (可选 - 默认为 null) 此属性用于指定一个未保存状态的值。如果实体的某个属性被标记为此值,则表示该实体尚未被持久化。这对于检测实体的状态非常有用,尤其是在 session 中修改实体之前。 #### 5...

    Struts2+hibernate3

    这通常是因为在数据库模型中定义了非空字段,但在尝试保存对象时,该字段值为`null`。检查`User.hbm.xml`中的`qq`属性,确保在保存对象之前为这个字段提供了有效值。 总结一下,`Struts2 + Hibernate3`开发中可能...

    hibernate-3.2 源码

    Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者将数据库操作转换为对象级别的操作,从而简化了数据访问层的开发。在 Hibernate 3.2 版本中,这个框架已经相当成熟,提供了丰富的功能和性能优化。...

    Hibernate_实体类_注解_大全

    `optional`参数表示该属性是否可以为null,默认为true。 6. `@Column`: 此注解用于详细描述数据库表中字段的特性,如字段名、是否可为空、是否唯一、长度等。`name`用于指定字段名,`nullable`表示是否允许为空,`...

    hibernate主要知识点

    ORM 框架如 Hibernate、TopLink 和 OJB 等,能够将数据库中的表映射为 Java 对象,简化了数据访问层的实现。 ### 开发流程 1. **由 Domain Object 到 mapping 到 db**:这是官方推荐的方式,先设计好业务对象,...

    hibernate关联映射的作用和常用属性解释

    - **`insert-before-update`**:设置为`true`时,在执行更新操作前先执行一次查询操作来判断数据是否真的发生了变化,默认为`false`。 - **`polymorphism`**:多态查询方式,默认为`implicit`。 - **`where`**:指定...

    精通Hibernate第四章

    通过这些配置,Hibernate可以自动地将对象的状态转换为SQL语句,从而实现数据的增删改查。 创建对象关系映射时,我们需要考虑持久化类的属性及访问方法。为了限制对属性的修改,可以将属性的setter方法设为private...

    hibernate-validator

    - `@NotNull`:确保字段不为 null。 - `@NotEmpty`:用于检查字符串、集合或数组是否为空。 - `@NotBlank`:检查字符串是否为空或只包含空格。 - `@Size`:限制字段的长度。 - `@Min` 和 `@Max`:限制数字类型...

    Hibernate Validation

    Hibernate Validator作为JSR349规范的参考实现,为开发者提供了稳定和高性能的数据校验服务。 在Hibernate Validator中,开发者可以通过注解在字段、属性或方法上定义约束(constraints),以及校验这些约束的方法...

    hibernate操作数据库笔记

    //该方法将到classpath下解析hibernate.cfg.xml中的配置,如果不用Hibernate默认的配置文件名和路径,可在该方法中指定Hibernate配置文件的名称和路径 2.用Configuration对象获取SessionFactory和Session对象:...

    hibernate说明文档

    - `not-null`: 如果为`true`,则表示该字段不允许为`null`,提供数据完整性约束。 - `unique`: 如果为`true`,则表示该字段具有唯一约束,防止重复数据。 - `index`: 给一个或多个字段建立索引,加速查询速度。 ...

    hibernate validator 校验器

    Hibernate Validator可以与Java EE和Java SE环境紧密集成,为Web开发提供权威的校验解决方案。以下是根据给定文件内容整理的相关知识点。 1. Hibernate Validator的项目设置 - UnifiedEL:统一表达式语言,...

    hibernate annotation 中文文档

    - **2.2.2.4 无注解之属性的默认值**:如果未使用注解,Hibernate 会按照默认规则进行映射。 - **2.2.3 映射主键属性** - 主键属性的映射可以通过 `@Id` 注解来完成,该注解还可以与 `@GeneratedValue` 配合使用以...

    hibernate annotaion api 中文与英文版

    - Hibernate Validator提供了丰富的验证注解,如`@NotNull`, `@Size`, `@Min`, `@Max`等,用于数据校验。 **7. 查询注解** - `@Query`: 在Repository接口中定义自定义SQL或HQL查询。 - `@NamedQuery`: 预编译的命名...

    Hibernate中映射枚举类型

    这些方法分别用于处理从数据库读取数据、向数据库写入数据、解析参数、转换对象为SQL字符串等。 3. **配置新的属性**:在映射文件中还需要添加一个新的属性`&lt;param name="key"&gt;key&lt;/param&gt;`来指定自定义值的键名。 ...

    java框架之hibernate

    - 当访问代理对象的属性时,Hibernate会自动从数据库中加载对应的数据。 - 如果数据库中不存在该对象,则会抛出`org.hibernate.LazyInitializationException`或`org.hibernate.ObjectNotFoundException`异常。 - ...

Global site tag (gtag.js) - Google Analytics