【问题标题】:How Hibernate Decide default length and datatype for columns of table while using Auto DDLHibernate 如何在使用 Auto DDL 时确定表列的默认长度和数据类型
【发布时间】:2019-04-11 10:00:45
【问题描述】:
  1. 当我们将 hbm2ddl.auto 与任何 POJO 类一起使用时,hibernate 使用什么规则来确定列字段的数据类型和长度?

  2. 如何为每列提供自定义数据类型和长度?

【问题讨论】:

    标签: hibernate


    【解决方案1】:

    您可以使用@length 和@type 注释来自定义列的长度和数据类型。

    @Type(type="text")
    private String payable_amount;
    

    这里的返回类型是String,存储在数据库中的值将是varChar格式。

    @Type(type="org.jadira.usertype.dateandtime.threeten.PersistentLocalDateTime")
    

    这是 PersistentLocalDateTime 中 LocalDateTime 表单的示例 如果我们使用自定义类对象作为类型,则必须在 @type 注释中提及完整的类路径。

    类似的长度可以添加到列中。通过使用它,我们可以使用最大或最小列长度。长度注解只能用于字符串。

    @Column(name = "NAME",length = 50)  
    @Length(max = 50)
    public String getName() {
      return this.name;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-12
      • 2012-03-07
      • 2021-06-09
      • 1970-01-01
      • 2013-02-19
      • 1970-01-01
      • 2021-04-05
      相关资源
      最近更新 更多