【问题标题】:Stating table column properties with Hibernate使用 Hibernate 声明表列属性
【发布时间】:2014-01-03 13:00:44
【问题描述】:

我在我的项目中使用 Hibernate。我已经创建了一个数据库架构。

我在网上看到的教程

@Column(name = "STOCK_ID", unique = true, nullable = false)
    public Integer getStockId() {
        return this.stockId;
    }

正在使用诸如唯一可为空等的列属性。我的问题是我需要 当我已经预先准备好数据库架构并且在创建表时为列提供了所有非空和所有检查时,请指定这些属性?

【问题讨论】:

    标签: java mysql hibernate orm


    【解决方案1】:

    不,你不需要,只需要填写 Hibernate 注释中的必需参数。但可选参数通常具有默认值。您的数据库必须与默认值兼容,否则您必须填写您使用的值。

    【讨论】:

      【解决方案2】:

      unique 仅在从 JPA 注释生成数据库模式时使用。 nullable = false 让 JPA 更高效:如果在将实体写入数据库时​​值为 null,它甚至不必执行插入/更新查询,可以立即抛出异常。

      即使这不是绝对必要的,我也喜欢在映射中包含这些信息以用于文档目的。无需查看数据库模式即可从代码中立即知道属性是否可以为空,这是很有用的。

      【讨论】:

      • 这个答案很有用+1 :)
      猜你喜欢
      • 2014-12-31
      • 2014-01-29
      • 1970-01-01
      • 2012-11-23
      • 2015-09-26
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多