自动创建实体 - 唯一的奇怪名称

Auto create entity - strange name of unique

我在使用休眠自动创建实体时遇到问题。我有这个属性:

("hibernate.hbm2ddl.auto", "create");

然后在我的例如用户 class 上提交的邮件有以下注释:

@Column(unique = true)
private String email;

用户的整个实体正在正确创建,但数据库中的唯一值名称是:"uk6dotkott2kjsp8vw4d0m25fb7"。有什么方法可以从 hiberante 更改此名称?例如 "unique" 或 "unique_mail"?感谢您的回应。但是主键名称是正常的,在我的例子中是:"users_pkey".

您可以在 class 级别使用 @UniqueConstraint 注释,它有一个可选参数 name 来定义 email 列的唯一约束。