解决JPA save()方法null值覆盖掉mysql预设的默认值问题
目录
- JPA save()方法null值覆盖掉mysql预设的默认值
- 覆盖原因
- 解决办法
- data jpa动态插入(null为sql默认值,utime自动更新 )
JPA save()方法null值覆盖掉mysql预设的默认值
覆盖原因
save()方法在没有参数传进去的时候默认是null值,而mysql表中该字段设置为可以为null值,这时虽然我们设置了默认值,可null值还是会把默认值覆盖掉。
解决办法
将该字段设置为不允许null值即可,这样null值就会被替换为默认值。
data jpa动态插入(null为sql默认值,utime自动更新 )
*/ @Setter @Getter @Table(name = "tb_order_history") @Entity @Data @DynamicInsert public class OrderHistory implements Serializable { private static final long serialVersionUID = -1L; @Id @Column(name = "id") @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; // 订单标识id @Column(name = "user_id") private Long userId; // 用户标识 @Column(name = "channel_id") private Long channelId; // 渠道标识 @Column(name = "is_active") private int isActive;//订单是否关闭 @Column(name = "status") private OrderStatus orderStatus;// 订单状态 @Column(name = "ctime") private Timestamp ctime; // 创建时间 @Column(name = "utime",updatable = false) private Timestamp utime; // 更新时间 }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Springboot使用Spring Data JPA实现数据库操作
SpringBoot整合JPA 使用数据库是开发基本应用的基础,借助于开发框架,我们已经不用编写原始的访问数据库的代码,也不用调用JDBC(Java Data Base Connectivity)或者连接池等诸如此类的被称作底层的代码,我们将从更高的层次上访问数据库,这在Springboot中更是如此,本章我们将详细介绍在Springboot中使用 Spring Data JPA 来实现对数据库的操作. JPA & Spring Data JPA JPA是Java Persistence API
-
Spring Boot中使用Spring-data-jpa实现数据库增删查改
在实际开发过程中,对数据库的操作无非就"增删改查".就最为普遍的单表操作而言,除了表和字段不同外,语句都是类似的,开发人员需要写大量类似而枯燥的语句来完成业务逻辑. 为了解决这些大量枯燥的数据操作语句,我们第一个想到的是使用ORM框架,比如:Hibernate.通过整合Hibernate之后,我们以操作Java实体的方式最终将数据改变映射到数据库表中. 为了解决抽象各个Java实体基本的"增删改查"操作,我们通常会以泛型的方式封装一个模板Dao来进行抽象简化,但是这
-
Spring Boot 添加MySQL数据库及JPA实例
最近在学习Spring Boot,继续前面的学习,这一次我们加入MySQL数据库和JPA. 配置: pom.xml文件 <!-- 添加Mysql和JPA--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dep
-
SpringBoot连接MYSQL数据库并使用JPA进行操作
今天给大家介绍一下如何SpringBoot中连接Mysql数据库,并使用JPA进行数据库的相关操作. 步骤一:在pom.xml文件中添加MYSQl和JPA的相关Jar包依赖,具体添加位置在dependencies中,具体添加的内容如下所示. <!--数据库相关配置--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-
-
解决JPA save()方法null值覆盖掉mysql预设的默认值问题
目录 JPA save()方法null值覆盖掉mysql预设的默认值 覆盖原因 解决办法 data jpa动态插入(null为sql默认值,utime自动更新 ) JPA save()方法null值覆盖掉mysql预设的默认值 覆盖原因 save()方法在没有参数传进去的时候默认是null值,而mysql表中该字段设置为可以为null值,这时虽然我们设置了默认值,可null值还是会把默认值覆盖掉. 解决办法 将该字段设置为不允许null值即可,这样null值就会被替换为默认值. data jpa
-
JPA save()方法将字段更新为null的解决方案
这篇文章主要介绍了JPA save()方法将字段更新为null的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天在开发上碰到一个问题,在做页面展示的时候传给前端十个字段,前端修改了其中3个的值,所以只传了3个值给后端,其余字段默认为null,更新后其他7个字段在全部变为了空值. 在前端没法全量回传所有属性的前提下,由后端来处理这类问题. 解决方法: 1.写一个工具方法(UpdateUtil) 用来筛选出所有的空值字段 2.更新时先通
-
Django 解决由save方法引发的错误
最近项目中的资产的任务状态频频出现问题,查看日志文件,看代码逻辑,也没发现什么具体的错误,总是过段时间就会出现一个表的字段没有更新的问题,很头疼. 开始时,觉得是没有添加事务,所以同时更新两个不同的表,其中一个表的内容没有写进去:加了事务后,又出现这种问题. 后来看代码,发现有两个线程在同一时间先后修改同一个表,问题来了,django的save()会更新所有的字段. 举个例子,我有两个线程分别修改User表,thread1修改User表的name字段,thread2修改User表的email字段
-
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
这是一个项目中常见的需求,el-select 为下拉多选,默认值不可删除,或者指定值不可删除. 实现效果: el-select 如下源码中 tag closable 属性为 el-select 的 disabled 属性,所有明显不支持. 解决思路(从el-select 的角度来考虑,其他组件组合的情况暂不考虑) 想要实现某些选项是不删除,1.需要tag 不可删除,2.options 不可选择 options 不可选择很好实现,只需要给一个disabled属性.tag 不可删除才是关键.下面是我
-
MySQL表字段设置默认值(图文教程及注意细节)
环境 MySQL 5.1 + 命令行工具 问题 MySQL表字段设置默认值 解决 复制代码 代码如下: --SQL: CREATE TABLE test( i_a int NOT NULL DEFAULT 1, ts_b timestamp NOT NULL DEFAULT NOW(), c_c char(2) NOT NULL DEFAULT '1' ); --以下SQL不合法 --time_d time NOT NULL DEFAULT CURTIME(), --date_e date NO
-
Spring JPA之save方法示例详解
目录 一.save(单条添加) 源码 service 层 control层 二.saveAll(批量添加) 源码 service control层 一.save(单条添加) 源码 @Transactional @Override public <S extends T> S save(S entity) { Assert.notNull(entity, "Entity must not be null."); if (entityInformation.isNew(enti
-
angular select 默认值设置方法
如下所示: <select ng-model="selected" ng-options="x.id as x.name for x in users"></select> $scope.users = [ {name:'a',id:'1'}, {name:'b',id:'2'}, {name:'c',id:'3'} ]; $scope.selected='2';//id的值,区分类型 $scope.selected=$scope.users
-
Python使用函数默认值实现函数静态变量的方法
本文实例展示了Python使用函数默认值实现函数静态变量的方法,具体方法如下: 一.Python函数默认值 Python函数默认值的使用可以在函数调用时写代码提供方便,很多时候我们只要使用默认值就可以了. 所以函数默认值在python中用到的很多,尤其是在类中间,类的初始化函数中一帮都会用到默认值. 使用类时能够方便的创建类,而不需要传递一堆参数. 只要在函数参数名后面加上 "=defalut_value",函数默认值就定义好了.有一个地方需要注意的是,有默认值的参数必须在函数参数列表
-
Python中自定义函方法与参数具有默认值的函数
目录 一.Python中自定义函数的方法 1自定义函数的语法 2自定义函数的实现 3自定义函数的调用 二.Python中参数具有默认值的函数 1参数是常量默认值的函数 2参数是常量默认值的函数 一.Python中自定义函数的方法 在Python编程中,可以使用已经定义好的函数,也可以自定义函数实现某些特殊的功能. 1 自定义函数的语法 在Python中,自定义函数的语法如下所示: def 函数名(参数): 函数体 其中,def是关键字:之后跟的是函数名,通过函数名来调用该函数:函数名之后
-
使用Lombok @Builder注解导致默认值无效的问题
目录 @Builder注解导致默认值无效 原因分析 lombok@Builder忽略属性默认值的坑点 1. 简单使用 2. 默认值问题 3. 修改属性值 @Builder注解导致默认值无效 使用Lombok注解可以极高的简化代码量,比较好用的注解除了@Data之外,还有@Builder这个注解,它可以让你很方便的使用builder模式构建对象,但是今天发现@Builder注解会把对象的默认值清掉. 像下面这段代码,会导致对象的name属性变为null: public class BuilderT
随机推荐
- Python实现全角半角转换的方法
- JS+DIV实现鼠标划过切换层效果的实例代码
- 自己模拟写C++中的String类型实例讲解
- PHP 实例化类的一点摘记
- jsp的注释可能会影响页面加载速度让代码扔继续执行
- Android中Handler消息传递机制
- Ubuntu Docker 安装教程
- PHP导出带样式的Excel示例代码
- opensuse下如何解决jfreechart中文乱码的问题
- 学习JavaScript设计模式之状态模式
- JAVASCRIPT 实现普通日期转换多少小时前、多少分钟前、多少秒
- SqlServer应用之sys.dm_os_waiting_tasks 引发的疑问(上)
- 漂亮的国产Linux操作系统Open Desktop赏析
- PHP响应post请求上传文件的方法
- android AlertDialog的简单使用实例
- List the Stored Procedures in a SQL Server database
- Java上传文件到服务器端的方法
- Java Char的简单工具类CharUtil分享
- node使用promise替代回调函数
- python实现简单的单变量线性回归方法