Python 官方文档:入门教程 => 点击学习
目录问题:默认值设置没有效果解决办法JPA为字段设置默认值问题:默认值设置没有效果 springboot项目的JPA数据库表的类添加默认值,有2种方法 1、@Column(colu
springboot项目的JPA数据库表的类添加默认值,有2种方法
1、@Column(columnDefinition = "varchar(35) default ‘12345‘ ")
2、@ColumnDefault(“12345”)
要求:设置img字段默认值为/imgs/defunct.png
依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>Mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.20</version>
</dependency>
映射类
@Data
@NoArgsConstructor
@AllArgsConstructor
@DynamicInsert
@DynamicUpdate
@Entity(name = "tbl_user")
public class UserInfo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ColumnDefault("\\imgs\\defunct.png")
private String img;
@ColumnDefault("0")
private Integer studyBegin;
}
数据库设计表字段
只有studyBegin默认值设置为0,img的默认值设置不成功。
把
@ColumnDefault("/imgs/defunct.png")
改为
@Column(columnDefinition = “varchar(255) default ‘/imgs/defunct.png'”)
效果
在使用JPA时,如果需要为属性设置默认值,很自然的,你可能会想到用下面的方式。
@Column(name="state",columnDefinition="tinyint default 0")
private Integer state=0;
但很不幸的是,这种方案有时候并不可行,原因在于columnDefinition是在创建表的时候使用的,如果你的表不是自动生成的。
那我们又需要为属性添加默认值,该怎么办呢,其实很简单,就直接为属性赋值就可以了。
private Integer state=0;
有时候,看起来很复杂的问题,其实换个角度思考,其实就会变得很简单。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: JPA默认值设置没有效果的解决
本文链接: https://www.lsjlt.com/news/158098.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0