V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
7911364440
V2EX  ›  Java

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

  •  
  •   7911364440 · 2021-11-08 09:44:19 +08:00 · 1695 次点击
    这是一个创建于 871 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题。
    第 1 条附言  ·  2021-11-08 15:48:43 +08:00
    用 4L 的方法解决了
    7 条回复    2021-11-08 11:57:14 +08:00
    siweipancc
        1
    siweipancc  
       2021-11-08 09:54:10 +08:00 via iPhone
    通过什么实现的,lifeCallback 还是 表行定义,还是类默认值。类默认值注意 Bean-copy 源码实现,life 要走 jpa.persist()
    leeg810312
        2
    leeg810312  
       2021-11-08 09:57:26 +08:00 via Android
    默认值不生效只有一个原因,insert SQL 填充了字段值
    summerLast
        3
    summerLast  
       2021-11-08 09:59:57 +08:00
    开启 sql 日志 看打印的 sql 就知道了
    Kontinue
        4
    Kontinue  
       2021-11-08 10:07:06 +08:00   ❤️ 2
    securityCoding
        5
    securityCoding  
       2021-11-08 10:08:11 +08:00
    并不是不生效,而是默认构造器创建对象时 entity 中的属性就是 null ,直接在 entity 赋值默认值。
    lhr96
        6
    lhr96  
       2021-11-08 11:16:47 +08:00
    4L 正解
    c6h6benzene
        7
    c6h6benzene  
       2021-11-08 11:57:14 +08:00 via iPhone
    我是在实体类里面的 Column 注解里面写了 insertable=false 和 updatable=false 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2621 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:51 · PVG 23:51 · LAX 08:51 · JFK 11:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.