欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

解决JPA save()方法null值覆盖掉mysql预设的默认值问题,

来源: javaer 分享于  点击 38523 次 点评:54

解决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; // 更新时间
    }

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持3672js教程。

    您可能感兴趣的文章:
    • Spring Boot中使用Spring-data-jpa实现数据库增删查改
    • Springboot使用Spring Data JPA实现数据库操作
    • Spring Boot 添加MySQL数据库及JPA实例
    • SpringBoot连接MYSQL数据库并使用JPA进行操作
    相关栏目:

    用户点评