Spring Data JPA 设置字段默认值方式

 更新时间:2021年11月25日 16:40:57   作者:weixin_42475367  
这篇文章主要介绍了Spring Data JPA设置字段默认值方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Spring Data JPA设置字段默认值

在Column注解中写入以下两个属性,为什么自己查一下文档吧,即可实现字段默认值设置,并顺带解决save方法所生成的sql语句中自动填充字段为null的问题。

默认值无法更新,所以如果想在代码里修改字段默认值,你需要重新建表。

@Column(insertable = false,columnDefinition = "int default 1")
    private Integer sex;    
 @Column(insertable = false,columnDefinition = "decimal(19,2) DEFAULT 0.00")
    private BigDecimal accountBalance;//账户余额

columnDefinition = “相当于数据库的creter table DDL 语句”

CREATE TABLE `account_info` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  。。。
  。。。
  `account_balance` decimal(19,2) DEFAULT '0.00',
  。。。
  。。。
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

Spring Data JPA设置字段默认值失败

jpa注解设置默认值用到的注解是@Column。但有一个问题就是,如果你已经建立好了表,然后在加上@Column(insertable = false,columnDefinition = “int default 1”)是没有用,因为这个注解只有在建表时才会起作用,也就是说,如果DB中表已经建好,该属性没有必要使用

@Column(columnDefinition=“int default 1”,nullable=false)
private int number;

所以最好是在save()或者update()写入时增加逻辑操作

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论