【问题标题】:What is value field of @ColumnDefault in jpa?jpa中@ColumnDefault的值字段是什么?
【发布时间】:2022-01-17 06:17:10
【问题描述】:

我不是本地人。

我需要在 jpa 中使用默认值。我引用了this,然后我使用了@ColumnDefault。 它很好用。但我想知道@ColumnDefault 的值字段的作用。 @ColumnDefault 值的注释

应用于 DDL 的 DEFAULT 定义。

但我不知道DEFAULT定义是什么意思? 即使我使用@ColumnDefault("5000"),也没有应用5000,只应用了DDL的默认值1000。

@ColumnDefault 的 value 字段的作用是什么?

谢谢。

【问题讨论】:

    标签: java hibernate jpa spring-data-jpa entity


    【解决方案1】:

    DEFAULT定义只表示SQL默认值,可以通过以下DDL定义:

    CREATE TABLE Person (
      name VARCHAR(255) DEFAULT 'N/A'
    )
    

    'N/A' 是列名的默认定义,相当于以下映射:

    @Entity(name = "Person")
    public class Person {
    
        @Column("name")
        @ColumnDefault("'N/A'")
        private String name;
    
    }
    

    @ColumnDefault 仅在您使用hibernate.hbm2ddl.auto 让休眠自动创建/更新您的数据库模式时有用。如果你不使用这种自动模式生成功能,它不会有任何效果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-05
      • 1970-01-01
      • 2021-12-14
      • 2020-11-26
      • 2020-12-04
      • 1970-01-01
      • 2010-11-26
      相关资源
      最近更新 更多