JPA默认值设置没有效果怎么解决

发布时间:2021-11-23 13:31:43 作者:iii
来源:亿速云 阅读:419

这篇文章主要介绍“JPA默认值设置没有效果怎么解决”,在日常操作中,相信很多人在JPA默认值设置没有效果怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JPA默认值设置没有效果怎么解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

问题:默认值设置没有效果

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;
}

数据库设计表字段

JPA默认值设置没有效果怎么解决

只有studyBegin默认值设置为0,img的默认值设置不成功。

解决办法

@ColumnDefault("/imgs/defunct.png")

改为

@Column(columnDefinition = “varchar(255) default ‘/imgs/defunct.png'”)

效果

JPA默认值设置没有效果怎么解决

JPA为字段设置默认值

在使用JPA时,如果需要为属性设置默认值,很自然的,你可能会想到用下面的方式。

@Column(name="state",columnDefinition="tinyint default 0")
private Integer state=0;

但很不幸的是,这种方案有时候并不可行,原因在于columnDefinition是在创建表的时候使用的,如果你的表不是自动生成的。

那我们又需要为属性添加默认值,该怎么办呢,其实很简单,就直接为属性赋值就可以了。

private Integer state=0;

到此,关于“JPA默认值设置没有效果怎么解决”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. JavaScript函数如何设置参数默认值
  2. postgresql设置默认值的方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

jpa

上一篇:Java数据库连接池Tomcat怎么使用

下一篇:c语言怎么实现含递归清场版扫雷游戏

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》