7911364440
V2EX  ›  Java

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

  •  
  •   7911364440 · Nov 8, 2021 · 2747 views
    This topic created in 1685 days ago, the information mentioned may be changed or developed.
    如题。
    Supplement 1  ·  Nov 8, 2021
    用 4L 的方法解决了
    7 replies    2021-11-08 11:57:14 +08:00
    siweipancc
        1
    siweipancc  
       Nov 8, 2021 via iPhone
    通过什么实现的,lifeCallback 还是 表行定义,还是类默认值。类默认值注意 Bean-copy 源码实现,life 要走 jpa.persist()
    leeg810312
        2
    leeg810312  
       Nov 8, 2021 via Android
    默认值不生效只有一个原因,insert SQL 填充了字段值
    summerLast
        3
    summerLast  
       Nov 8, 2021
    开启 sql 日志 看打印的 sql 就知道了
    Kontinue
        4
    Kontinue  
       Nov 8, 2021   ❤️ 2
    securityCoding
        5
    securityCoding  
       Nov 8, 2021
    并不是不生效,而是默认构造器创建对象时 entity 中的属性就是 null ,直接在 entity 赋值默认值。
    lhr96
        6
    lhr96  
       Nov 8, 2021
    4L 正解
    c6h6benzene
        7
    c6h6benzene  
       Nov 8, 2021 via iPhone
    我是在实体类里面的 Column 注解里面写了 insertable=false 和 updatable=false 。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2516 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 11:17 · PVG 19:17 · LAX 04:17 · JFK 07:17
    ♥ Do have faith in what you're doing.