hibernate在用注解设置字段的默认值时遇到的问题
来源:互联网 发布:异次元杀人矩阵 编辑:程序博客网 时间:2024/06/11 13:38
今天小编在用hibernate设置字段的默认值的时候遇到的一个小问题,特意分享一下,以免后来人继续犯错。。
小编的pojo层的代码是这样写的。。
package com.Shayla.pojo;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.DynamicInsert;
@Entity
@Table(name="t_user")
public class User implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO) //主键生成策略
private Integer id;
private String username;
private String password;
private String nickname;
@Column(nullable=false,columnDefinition="Integer default 1") //这里是设置这个字段的默认值是Integer类型并且值为1
private String status;
//省略getter和setter方法。。。。。
}
但是这样在插入数据进数据库的时候是会报下面这个错误的。。。
就是说,这个字段在执行hibernate生成的sql语句
的时候,字段status还是空的(null),小编设置的默认值完全不管用。。0
小编在网上找到了解决的方法。。
就是往类名上面加上一个注解。。。@DynamicInsert
这个注解的作用如下(小编在网上查到一位大神的博客,截图下来的)。。
这个注解的功能就是,当hibernate生成insert语句的时候会把值为null的字段过滤掉,不加入insert语句的参数中。
小编猜想,hiebernate给字段设置默认值是在hibernate生成的insert语句执行之后再生成一条insert语句,专门插入status的值。。
你们觉得呢。。。。。
- hibernate在用注解设置字段的默认值时遇到的问题
- hibernate 注解字段默认值
- hibernate 注解字段默认值
- Hibernate 中设置并处理Oracle的字段的默认值
- 在Hibernate中使用数据库字段默认值的配置
- 在DB2中设置查询字段的默认值
- Hibernate对字段默认值的配置方法
- hibernate中处理含默认值的字段
- NHibernate 设置字段的默认值的办法
- SQL SERVER2000 设置字段属性时遇到的问题
- IBatis设置字段空值的默认值
- Django ModelAdmin 中设置字段的默认值
- 在Hibernate中对数据库默认值的写入问题
- PowerDesigner 设置默认值时的引号问题
- hibernate 的@Column注解在的字段上不生效
- Hibernate用columnDefinition注解给实体属性设置默认值
- Hibernate用columnDefinition注解给实体属性设置默认值
- Nhobernate设置默认值的问题
- 写给自己的信
- Java-基础
- 基于特定领域国土GIS应用框架设计及应用
- 欢迎使用CSDN-markdown编辑器
- 数据结构——线性结构(3)——链栈的实现
- hibernate在用注解设置字段的默认值时遇到的问题
- HDU1556 color the ball (树状数组)
- 【Git】远程仓库的使用
- 第3章 Excel VBA基础语法 【上】
- The disk contains an unclean file system\
- webgl学习笔记二
- SSH综合项目实战(快递) -- day02 EasyUI菜单、实体类导入、spring data使用
- 网络协议
- adb wifi连接手机调试