hibernate 向数据库里设置了默认值的字段添加数据为null时失效的问题

写ssh项目时设置了一个boolean类型的字段,想让他添加的时候默认为1

结果添加的时候不输入数据的话会将null转成0添加

最后再映射hbm文件里的property下设置insert=false 并且设置其非空,默认值生效

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

原文地址:https://www.cnblogs.com/King-Jin/p/10961640.html

时间: 2024-10-12 19:05:29

hibernate 向数据库里设置了默认值的字段添加数据为null时失效的问题的相关文章

【奇葩的需求】对整个数据库里的所有表的所有字段的数据操作

哎,因为图片服务器的网址变了,所以让把数据库里所有表所有字段的数据里的旧网址替换成新网址,所以就只能写了这么一个代码,貌似效率还不错,20多W的数据量,只用了13秒,好的代码不需要太多的文字来解释 <?php  class TestAction extends Action{ private $old_str=''; private $new_str='' function index(){ set_time_limit(0); $tableList=$this->getTables(); f

约束与数据库对象规则、默认值的探究(转)

约束与数据库对象规则.默认值的探究 约束.规则.默认值这三者在数据表中规定了数据进行操作时的限制条件.他们三者有关系也有区别,用了两天的时间研究了他们三者,总结如下. 首先让我们从关系角度来分析: ●浅谈约束.规则.默认值 1.约束,约束顾名思义是限制条件的意思,其实它的作用也是如此,它是对所要进行增删改查操作的数据进行一次检查,检查这些数据是否符合我们所要约束的条 件.举个例子:我们都经历过高考,考试规定考生不许带与考试无关的物品这就是一种约束.报名考试的考生可能因为某些意外没有进入考场考试,

mysql5.7 date类型无法设置&#39;0000-00-00&#39;默认值

现象: mysql5.7之后版本datetime默认值设置'0000-00-00',出现异常:Invalid default value for 'create_time' 原因: mysql5.7之后版本的sql_mode默认使用:(win系统见my.ini中约70行) sql-mode="STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER" 其中N

设置参数默认值的几种错误示例

#include <iostream> #include <string> using namespace std; #if 1 //ok int add(int num1,int num2,int num3 = 0,int num4 = 0) { cout << "int add(int num1,int num2,int num3 = 0,int num4 = 0)" << endl; return num1 + num2 + num

分别在javascript和JSP中动态设置下拉列表默认值

一.JavaScript中动态设置select标签中<option>选项的默认值: 比如,要完成下边这个下拉列表的动态显示,并且当进行前后翻页时,下拉列表中的值自动更新为当前页码:  <======== 图1 jsp部分代码如下: <========图2 实现动态设置下拉列表默认值的js代码: <=======图3 二.使用EL表达式在jsp页面中动态设置select标签中<option>选项的默认值: 现在有如下这么一个页面(图4),要实现点击修改时,在弹出的页

angularjs下拉列表设置一个默认值

angularjs环境中,下拉列表html代码如下: 下拉列表的数据源结构大约如下: 现在,我们想在页面的初始化或者一个用户Click事件中,为这个下拉列表设置一个默认值. 方法如下: $scope.Trans_Type =1; //2,3,4,..... 当我们执行时,发现它并没有得到预期的效果,反而它为下拉列表添加多一项空值项: 明明Type值是数字1,2,3或4等. 经过一系列测试,如果绑定一个字符串作为下拉列表的值时,它能正常设值并绑定,所以: 把数据转换为字符串. 以上我们是静态指定,

关于有默认值的字段在用EF做插入操作时的思考

今天在用EF做插入操作的时候发现数据库中一个datetime类型的字段(CreateDate)的值居然全部为null.于是赶紧看表结构发现CreateDate字段居然是允许为空的. 虽然为空,但是设置了默认值getdate(),按说不应该为null的.于是开始测试. 字段允许Null值的情况 Users表结构如下: 假如一个字段有了默认值,并且又允许为Null,在做插入操作时会发生什么? 如上图中的表结构,CreateDate是允许为null的,而又有默认值getdate().这样在用传统SQL

关于有默认值的字段在用EF做插入操作时的思考(续)

原文:关于有默认值的字段在用EF做插入操作时的思考(续) 问题描述 今天下午(看现在这时间,应该是昨天下午了哈),园友 choon 写了这样一篇博文<关于有默认值的字段在用EF做插入操作时的思考>. 博文内容主要记录的是 choon 使用 EF 做数据插入与更新时,字段默认值的问题,这个问题我们平常应该都会遇到,但是,最后博文内容包括评论,并没人能给出一个准确的答案,真是很可惜(知识点的博文都是一侃一大堆,而这些实际项目遇到的问题却回答不上来,又有什么用呢,哎...).详细内容请查看上面的博文

数据库里面DataTime时间类型字段,如果为null时

tran.TransactionTime = bet.CreationDate.ToString() == "0001/1/1 0:00:00" ? DateTime.Now : bet.CreationDate; 数据库里面DataTime时间类型字段,如果为null时,查询出来时间值为"0001/1/1 0:00:00" 这是一个溢出SqlDateTime超出范围的时间值,将它再插入数据库时会报错的 数据库里面DataTime时间类型字段,如果为null时,布布