SpringBoot 的 DataJpa 插入数据时,数据库(mysql)中字段默认值不生效怎么解决?

2021-11-08 09:44:19 +08:00
 7911364440
如题。
1928 次点击
所在节点    Java
7 条回复
siweipancc
2021-11-08 09:54:10 +08:00
通过什么实现的,lifeCallback 还是 表行定义,还是类默认值。类默认值注意 Bean-copy 源码实现,life 要走 jpa.persist()
leeg810312
2021-11-08 09:57:26 +08:00
默认值不生效只有一个原因,insert SQL 填充了字段值
summerLast
2021-11-08 09:59:57 +08:00
开启 sql 日志 看打印的 sql 就知道了
Kontinue
2021-11-08 10:07:06 +08:00
securityCoding
2021-11-08 10:08:11 +08:00
并不是不生效,而是默认构造器创建对象时 entity 中的属性就是 null ,直接在 entity 赋值默认值。
lhr96
2021-11-08 11:16:47 +08:00
4L 正解
c6h6benzene
2021-11-08 11:57:14 +08:00
我是在实体类里面的 Column 注解里面写了 insertable=false 和 updatable=false 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/813764

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX