使用hibernate和JPA 2.2命名约束

时间:2018-10-15 11:24:10

标签: java sql-server hibernate jpa constraints

我正在使用Hibernate 5.2.16

我们得到了一个“通用”数据库类,该类为该类继承。它包含的属性之一是“创建的”时间戳。

@Column(insertable = false, updatable = false, columnDefinition = DataBaseConstants.CREATED_COLUMNDEFINITION)
private Timestamp created;

因为有多个数据库实现,所以我们有DatabaseConstants,其中包含的代码对于不同的数据库(主要是SQLServer和MariaDB)是不同的。可能看起来像这样:

<CREATED_COLUMNDEFINITION>TIMESTAMP(6) DEFAULT UTC_TIMESTAMP(6)</CREATED_COLUMNDEFINITION>

当我要更新容器时,我遇到一个问题,即它们具有自动生成的名称(我不知道它们来自何处),这使得很难知道哪个约束是哪个约束,所以我想为其命名。 / p>

有没有做不到的简单方法?还是我在尚未设置的某些配置文件中执行命名策略?

编辑: “列定义中的default子句只是创建约束的快捷方式;默认值不是列的固有属性。如果要修改现有列的默认值,则必须先删除约束”。

0 个答案:

没有答案